This document describes the basics of containers and how to leverage the containers in your plan to speed up your job and workflow runs. For more information on what containers are and why they are useful, see this Docker overview.
Every change committed to your version control system triggers CircleCI to checkout your code and run your job workflow inside a fresh, on-demand, isolated container with access to the following, depending on your plan:
Concurrency - Utilizing multiple containers to run multiple builds at the same time. To take advantage of concurrency, configure your development workflow using the Orchestrating Workflows document and run your jobs in parallel as shown in the Sample 2.0 Config Files document.
Parallelism - Splitting tests across multiple containers, allowing you to dramatically speed up your test suite. Update your
.circleci/config.ymlfile to run your tests in parallel as described in the Configuring CircleCI document. Learn how to update your config file to parallelize and split tests to decrease your build time by reading the Running Tests in Parallel documentation.
Linux plans start with the ability to run one workflow, without parallelism, at no charge. Purchasing a Linux plan enables you to use additional containers when you need them. Choose a paid or free plan during the signup process and change your plan in the CircleCI app Settings page later to meet changing business requirements.
Most CircleCI customers use two to three containers per full-time developer. Increase the number of containers to any level of parallelism and concurrency as your team or the complexity of your workflow grows.
Open source projects include three additional free containers to run jobs in parallel.
Refer to the FAQ about upgrading for step-by-step instructions to upgrade your plan.