CI/CD

CI/CD stands for Continuous Integration and Continuous Delivery (or Continuous Deployment). Together they describe the practice of automating the build, test, and release of software so changes move from a developer's commit to production frequently and with minimal manual handling.

How it works

A typical pipeline starts when a developer pushes to a branch. The CI server checks out the code, installs dependencies, runs linters, builds artifacts, executes tests, and reports results to the version control system. A successful build often triggers downstream stages: container builds, deployment to staging, end-to-end tests, and promotion to production. Production deployment strategies range from full rollout to gradual exposure via canary, blue-green, or feature flags.

Common tools

  • Hosted CI: GitHub Actions, GitLab CI, CircleCI, Buildkite, Bitbucket Pipelines
  • Self-hosted: Jenkins, Drone, Tekton, Argo Workflows
  • CD and GitOps: ArgoCD, Flux, Spinnaker, Harness
  • Artifact registries: Docker Hub, GitHub Packages, AWS ECR, JFrog Artifactory

Subscribe to Sahil's Playbook

Clear thinking on product, engineering, and building at scale. No noise. One email when there's something worth sharing.
[email protected]
Subscribe
Mastodon