2.0 Documentation

Welcome to CircleCI 2.0! The release of CircleCI 2.0 includes many improvements for faster performance and greater control. If you are new to CI/CD, check out the Overview for how it works. If you are already using CircleCI 1.0, refer to the Migrating from 1.0 to 2.0 document.

If you are a System Administrator, see the 2.0 Administrator’s Overview document to get started and refer to the Installing CircleCI 2.0 on Amazon Web Services with Terraform for installation instructions.

Setup Process

Use the following process to set up your code repository, run tests, and deploy your artifacts with CircleCI:

Task Instructions
Sign up and authorize your repository Sign Up and Try CircleCI 2.0
Create a CircleCI configuration file in your repository Hello World
Select the image and executor (Docker or Machine) for each job Specifying Container or Machine Images
Configure a database Configuring Databases
Install dependencies for building your application CircleCI Demo Applications (Language Guides)
Cache dependencies to speed up your builds Caching Dependencies
Write a job to run your tests Writing Jobs With Steps (Run Step Section)
Automate your browser tests Install and Run Selenium to Automate Browser Testing
Get test results Collecting Test Metadata
Write a job to deploy artifacts Writing Jobs With Steps (Deploy Section) and Deployment Integrations
Set up Workflows Steps to Configure Workflows, Workflows Configuration Examples and Demo Workflows
Use workspaces in Workflows Using Workspaces to Share Data Among Jobs and Writing Jobs With Steps (persist_to_workspace Section)
Manually approve workflow steps Holding a Workflow for a Manual Approval


The CircleCI 2.0 platform includes significant performance, stability, and reliability improvements along with the following new features:

  • First-class Docker Support: Choose any image to run your job steps, customizable on a per-job basis on a particular Git branch. Speed up your run times with advanced layer caching. Build docker images with full docker CLI support and full support for docker compose. Support for all programming languages and custom environments that offer more predictable output. See Specifying Container Images for instructions.

  • Workflows: Orchestrate jobs and steps with great flexibility using a simple set of new keys in your configuration. Share temporary files between jobs with workspaces for fan-in, fan-out, parallel, and sequential runs. Hold a workflow for a manual approval and restart a workflow from a failed job. See Orchestrating Workflows for details.

  • Resource Allocation: Configure your CPU and RAM needs on a per-job basis at the branch level, see the resource_class documentation for instructions. Paid accounts may request this feature by opening a support ticket (or via their Customer Success Manager when applicable) and non-paid users by sending an email to

  • Insights: Access interactive charts and analyses in seconds. Visualize trends in your build history to identify and pinpoint bottlenecks. Understand all of your builds at a glance. View the builds that fail most, so you can fix the slowest tests to improve efficiency. See the Collecting Test Metadata documentation for information.

  • Debugging with SSH and CLI: Perform local job runs, configuration validation and log in to a build with SSH for access to log files and to debug running processes. See Using the CLI documentation to learn about running local jobs and refer to Debugging Jobs over SSH for SSH instructions.

  • Parallelism: Automatic provisioning of containers as they are freed without waiting for other jobs to finish. See the Parallel Job Execution documentation for examples.

  • Advanced Caching: Speed up builds by caching files from run to run using keys that are easy to control with granular caching options for cache save and restore points throughout your jobs. Cache any files from run to run using keys you can control, see the Caching Dependencies documentation for strategies and steps.

  • Contexts: Contexts enable you to share environment variables across projects within an organization. Developers can configure jobs to run in the org-wide context with a single line in their workflows configuration, see Using Contexts for details.

We’re thrilled to have you here. Happy building!

The CircleCI Team