Why Taskcluster?

Summary

There are lots of continuous integration (CI) solutions out there that support simple workflows, but what if your CI process is more complex? What if you need something more customizable and more scalable?

Enter Taskcluster.

Taskcluster is a task execution framework developed by Mozilla. Initially designed in service of Firefox and associated products, Taskcluster has grown into an open source tool that allows anyone to develop and deploy sophisticated CI solutions and release processes.


Benefits

Large-scale

The deployment of Taskcluster that runs Firefox CI routinely runs over 7,000,000 tasks per month. It can easily handle 350,000 concurrent tasks without breaking a sweat. The release process for Firefox contains well over 8,000 individual tasks.

Customizable

Taskcluster is designed as a flexible set of services and tools to build custom continuous integration, deployment, and release processes. Its micro-service architecture allows you to easily adapt or replace an existing service to meet the needs of your business or project.

Cloud-agnostic

Already have an established presence in AWS? Or GCP? Or Azure? Or packet.net? Or bitbar? Or your own hardware in a datacenter? Taskcluster supports them all.

Want to execute tasks in all of them at the same time? Sure. Mozilla is doing this right now. Taskcluster ties them all together seemlessly.

Multi-platform

Taskcluster workers will run on just about any device or cloud instance. Mozilla currently runs workers on Linux, MacOS, various flavours of Windows (including desktop variants like Windows 7 and Arm64), and a collection of different mobile devices. If you can get the worker code onto your device, it can run tasks via Taskcluster.

Features

Task Graphs

Create deep graphs of tasks with dependencies, e.g. tests depend on build tasks. As mentioned above, the task graph for the release process of Firefox contains well over 8,000 individual tasks.

Scheduled Tasks

Create tasks at specific times or days, e.g. nightly builds, periodic version bumps, slow integration tasks, weekly hygiene/clean-up jobs. This is cron for your CI pipeline.

Bring Your Own Worker

Run your tasks on workers in the cloud, or on your own hardware, or both. If you can get the worker code on your device/instance, it can run tasks in Taskcluster.

Interactive Tasks

Get interactive shell, VNC, or RDP access to running workers, right in your web browser. Debugging running process in CI has never been easier.

GitHub Integration

Create tasks for pushes, pull requests(PRs), and tags. Report results via GitHub checks. Continue using the workflow tools you love while gaining the benefits of Taskcluster.

API Driven Design

All access to the platform is via REST API methods, with multi-language client libraries. You can easily extend or replace existing services based on your needs, or even develop new services entirely!

Access Control

Access to API methods is controlled via granular, flexible scopes supporting delegation patterns. Access control can be as simple or complex as your project demands.

Contact us

Want to know more?