CircleCI is a usage-based CI/CD platform for software teams that build, test and deploy on hosted or self-hosted runners.
CircleCI turns a config file in the repository, .circleci/config.yml, into pipelines that run each time code changes or on a schedule. Circle Internet Services, Inc. makes it in San Francisco, where the company was founded in 2011. Builds, tests and releases start on hosted machines or on the team's own without someone running them by hand. Pipelines start on push and pull request events, and Schedule Triggers run them at set times from the web app or the API. Matrix jobs and parallelism spread work across versions, platforms and test shards, while dependency caching and Docker Layer Caching let jobs skip repeated downloads. Orbs package reusable, parameterizable configuration that projects import instead of rewriting. Contexts hold secrets that are masked in job output, OpenID Connect tokens let jobs reach cloud services without long-lived credentials stored in CircleCI, and approval jobs in workflows pause a deploy for manual sign-off. Test reports show flaky tests and the slowest tests, and job artifacts save and link screenshots, coverage reports and tarballs. CircleCI suits software teams that want usage-based CI/CD, from small groups starting on the Free plan to larger organizations on Scale. Platform and DevOps engineers can run jobs on their own machines through self-hosted runners, while the hosted resources cover Docker, Linux, Windows, Arm and macOS builds. Organizations that want the whole platform on their own infrastructure can install CircleCI Server on AWS or GCP. A startup program gives qualifying startups free compute credits. CircleCI is bought as credits under the Free, Performance, Scale and Server plans. Teams use CircleCI to build and test on each push, run pull request checks, split test suites, run nightly jobs and deploy to cloud providers such as AWS and Google Cloud. It works with GitHub, Bitbucket and GitLab for source code, and with PyPI and Artifactory for packages. Runners registered under Self-Hosted Runners in the web app sit beside CircleCI's hosted resources, so one organization can run jobs in both places.
Features
- Included: Pipeline as code in the repository
- Included: Pipeline triggers on push and pull request
- Included: Parallel jobs and matrix builds
- Included: Dependency caching between pipeline runs
- Included: Self-hosted runners
- Included: Hosted macOS, Windows and Linux runners
- Included: Scheduled pipelines
- Included: Manual approval gates before deploy
- Not included: Protected deployment environments
- Included: Masked secrets for pipeline jobs
- Included: OIDC cloud credentials for jobs
- Included: Reusable pipeline templates
- Included: Test reports with flaky test detection
- Included: Artifact passing between jobs
- Not included: Pipeline duration and success analytics
- Not included: Merge queue
- Included: Free monthly build minutes
- Included: Self-managed CI server edition
Additional Features
- Pipeline config in .circleci/config.yml
- Push and pull request triggers
- Schedule Triggers
- Matrix jobs
- Parallelism for splitting jobs
- Dependency caching
- Docker Layer Caching
- Orbs for reusable configuration
Best for
- Platform and DevOps teams running jobs on both hosted and self-hosted runners
- Teams building on macOS, Windows or Arm alongside Linux
- Small teams of up to 5 active users starting on the Free plan
- Companies that need the CI platform installed on their own AWS or GCP account
- Teams with code on GitHub, Bitbucket or GitLab
- Security-minded teams that keep long-lived cloud keys out of CI with OpenID Connect
- Engineering groups sharing pipeline steps across many repositories through orbs
- Startups applying for the vendor's startup program credits
Use cases
- Building and testing code on each push
- Running pull request checks
- Splitting a slow test suite across parallel jobs
- Testing one job against several versions with matrix jobs
- Running builds on macOS or Windows machines
- Deploying to AWS or Google Cloud with OpenID Connect credentials
- Pausing a deployment until someone approves it
- Running nightly builds on a schedule
- Finding flaky tests in a test suite
- Saving coverage reports and screenshots as job artifacts
- Running jobs on your own machines with self-hosted runners
- Publishing packages to PyPI or Artifactory
- Hosting the CI platform yourself with CircleCI Server
Screenshots & Videos
Explore CircleCI in action