CircleCI 2.0 is a completely updated CI/CD platform that starts every run with a clean image which is automatically provisioned just-in-time for Linux and Android jobs on the hosted CircleCI application.
Configuration moves into the code in 2.0, so every developer can configure jobs directly in their working branch, teams can try new things without the risk of slowing anyone else down, and business leaders have the ability to operate large global teams with minimal overhead. CircleCI 2.0 prevents you from writing clean-up scripts because every run starts in the same state, eliminating the risk of polluting a test database or leaving files in places that cause problems for the next run.
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 from their Customer Success Manager, non-paid users may request to get started by sending email to firstname.lastname@example.org.
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 SSH in to builds for access to log files and debugging running processes. See Using the CLI documentation to learn about running local jobs and refer to Debugging Jobs over SSH for SSH instructions.
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.
A fix to the pricing plan has been implemented which limits Linux plan capacity to the published maximum. As a result of this change, you may see builds queuing until the requisite containers are available.
This feature enables core dumps for projects using CircleCI 2.0. Get core dump files and push them as artifacts for inspection and debugging using the instructions in the Uploading Build Artifacts document.
The Workflows feature is available on CircleCI 2.0. It is designed with a flexible algorithm to support very complex job scheduling and orchestration using a simple set of new configuration keys. See the Steps to Configure Workflows section of the Migrating from 1.0 to 2.0 document for instructions. Refer to the Orchestrating Workflows document for examples and conceptual information.
This feature enables users to log in to CircleCI with a Google account and provides new users with the opportunity to experience the application and selected demo projects without providing access to their code repository.
Now you can filter your build emails by project without doing
subject matching. This feature adds the standard List-ID header
with organisation.project.notifications.circleci.com to make it easy
to filter build emails into per-repo or per-org folders.
This feature enables you to import project environment variables from projects in the same organization to save time and typing. On the Settings screen for your project, click the Import Variable(s) button on the Environment Variables page and select from the list.
Looking for the builds most relevant to your actions? You can now filter builds by “my builds” (builds you triggered) or “all builds” (builds triggered by other users on your team). The filter can be found near the top, right-hand corner of your dashboard. Currently, this feature is only available on the organization and project-level.
It is now possible to control whether to run builds for pull requests
coming from forks and whether to pass the secrets from the main project
to the fork on such builds, via two separate settings. Check out the
Advanced Settings tab for your project for more details.
It is now possible to upload provisioning profiles under the ‘Permissions’ section of your OS X project settings. Once uploaded, we will automatically import the profiles during your OS X builds. Profiles are encrypted at rest on the CircleCI side.
This update removes the need to keep the provisioning profiles checked into your repository and simplifies the setup of code signing for new OS X projects.
CircleCI offers the ability to link directly to build output steps. We’ve now extended this feature into build email notifications. You should now see a clickable ‘Failing Command’ on (failed) build notification emails which will open the build page to the failed command in your build output.
A few weeks ago we started downloading CocoaPods specs from S3 instead
of Git in projects that use our iOS inference. It is now also possible
to download the specs from S3 in projects with manual configuration.
Please check out this
for an example of downloading specs from S3 via a circle.yml command.
Click here to view further updates, listed on the legacy changelog.