Skip to content

glossary

CI/CD

Continuous Integration and Continuous Delivery/Deployment: the practice of automatically building, testing, and releasing every code change through a pipeline, so software moves from commit to production quickly, safely, and repeatably.

In depth

Continuous Integration means developers merge small changes into a shared branch frequently, and every merge automatically triggers builds and test suites that catch integration problems within minutes. Continuous Delivery extends this by automatically packaging each passing build into a deployable artifact and pushing it through staging environments, so the software is always in a releasable state; a human may still click the final deploy button. Continuous Deployment goes one step further and ships every passing change to production with no manual gate. A typical pipeline runs stages such as compile, unit tests, static analysis, security scans, artifact publishing, integration tests, and progressive deployment with canary or blue-green strategies. The payoff is that releases become boring, small, and reversible instead of rare, large, and terrifying. CI/CD is the operational backbone of DevOps and the prerequisite for practices like GitOps and trunk-based development.

Why it matters

Small, frequent, automated releases dramatically reduce the risk of each change and shrink the time from idea to user. DORA research links strong CI/CD practice directly to elite software delivery performance. For most engineering teams, pipeline skills are now as fundamental as knowing Git.

Real-world example

example.txt

A team practicing trunk-based development pushes a fix at 10 a.m. GitHub Actions builds the service, runs 2,000 tests and a Trivy scan in eight minutes, publishes a container image, and Argo CD rolls it out as a canary to 5% of traffic. Metrics stay healthy, the rollout completes automatically, and the fix is fully live before lunch.

Tools related to CI/CD

GitHub ActionsGitLab CIJenkinsArgo CDCircleCITekton

Interview questions

  1. Explain the difference between continuous integration, delivery, and deployment.
  2. Design a CI/CD pipeline for a containerized microservice. What stages would it have?
  3. How do you keep pipeline runtimes fast as a codebase grows?
  4. Compare canary, blue-green, and rolling deployment strategies.
  5. How do you handle database schema migrations in a CD pipeline?
  6. What security checks belong in a CI pipeline?