Skip to content
Infrastructure

CI/CD

Definition & meaning

Definition

CI/CD (Continuous Integration / Continuous Deployment) is a set of development practices that automate the process of building, testing, and deploying code changes. Continuous Integration merges developer code into a shared repository multiple times a day with automated testing, while Continuous Deployment automatically releases validated changes to production. Popular CI/CD tools include GitHub Actions, GitLab CI, and Jenkins.

How It Works

CI/CD stands for Continuous Integration and Continuous Delivery (or Deployment). Continuous Integration is the practice of automatically building and testing code every time a developer pushes changes to a shared repository. A CI server detects the push via webhook, spins up an isolated environment (usually a container), checks out the code, installs dependencies, runs the test suite, performs linting and type checking, and reports the results back to the pull request. Continuous Delivery extends this by automatically preparing release artifacts that are ready for deployment at any time. Continuous Deployment goes one step further: every change that passes the automated pipeline is deployed to production without manual intervention. The pipeline is defined as code — typically a YAML file committed to the repository — specifying stages, jobs, dependencies between jobs, environment variables, secrets, and deployment targets. Pipelines can include parallel jobs, matrix builds for testing across multiple versions, and manual approval gates for production deployments.

Why It Matters

CI/CD transforms deployment from a stressful, error-prone event into a routine, automated process. Teams practicing CI/CD deploy 208 times more frequently than those without, with 106 times faster lead time from commit to production (per the DORA State of DevOps report). Automated testing on every push means bugs are caught within minutes rather than discovered in production. The feedback loop shortens dramatically: developers know within 5-10 minutes if their change breaks anything. Continuous Deployment eliminates the "release day" bottleneck and reduces batch sizes, which reduces risk. We have seen CI/CD adoption reduce production incidents by 50% or more because problems are smaller, easier to identify, and faster to roll back.

Real-World Examples

GitHub Actions is the most popular CI/CD platform for open-source and many commercial projects, with workflows defined in .github/workflows/ YAML files. GitLab CI/CD is tightly integrated with GitLab's repository management. CircleCI and Travis CI are established cloud CI services. Jenkins remains widespread in enterprise environments despite its maintenance overhead. Vercel and Netlify provide specialized CI/CD for front-end projects with automatic preview deployments per branch. A typical pipeline runs: install dependencies, lint code (ESLint), check types (tsc --noEmit), run unit tests (Vitest), run integration tests (Playwright), build the application, and deploy to staging. ArgoCD handles GitOps-based continuous deployment for Kubernetes clusters.

Related Terms