CircleCI is a cloud-based continuous integration and continuous delivery (CI/CD) platform that automates software testing, building, and deployment through declarative YAML configuration. It orchestrates workflows across Docker containers, Linux VMs, macOS, Windows, and self-hosted runners, enabling teams to ship code faster with parallelism, caching, and approval gates. Understanding CircleCI's configuration structure—from jobs and executors to workflows, orbs, and dynamic config—is essential for building efficient, scalable pipelines that balance speed, reliability, and cost.
What This Cheat Sheet Covers
This topic spans 20 focused tables and 112 indexed concepts. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
Table 1: Configuration Fundamentals
| Element | Example | Description |
|---|---|---|
version: 2.1jobs: build: docker: - image: cimg/node:18.0 | Main CircleCI configuration file at .circleci/config.yml — defines jobs, workflows, executors, and all pipeline behavior. | |
version: 2.1 | Config file schema version. 2.1 enables orbs, parameters, reusable commands, and pipeline features. | |
jobs: test: docker: - image: cimg/python:3.9 steps: - checkout | • Defines named step collections that run in isolated environments • can run in parallel or sequentially within workflows. | |
steps: - checkout - run: npm install - run: npm test | Lists sequential commands within a job — includes checkout, run, save_cache, restore_cache, store_artifacts, etc. | |
- run: name: Install deps command: pip install -r requirements.txt | • Executes shell commands inside the job environment • supports name, command, working_directory, shell, when, background, and max_auto_reruns parameters. |