CI/CD
What is it?
CI/CD is the practice of automatically building, testing, and releasing code so changes reach users quickly and safely.
Explain like I'm 5
Why was it created?
Manual building and releasing was slow and error-prone. CI/CD automates it so teams can ship small changes frequently with confidence.
Where is it used?
- Running tests on every code change
- Building and packaging applications
- Deploying to staging and production
- Enforcing quality gates
Why should developers care?
Almost every modern team uses CI/CD. Knowing how pipelines work is essential to shipping software professionally.
How does it work?
Continuous Integration automatically builds and tests each change when it's pushed. Continuous Delivery/Deployment then automatically prepares or releases passing changes to environments, often through a defined pipeline.
Real-world example
A developer opens a pull request; the CI pipeline runs tests automatically, and once merged, CD deploys the change to production without manual steps.
Common use cases
- Automated testing on every commit
- Repeatable builds
- Automated deployments
- Fast, safe, frequent releases
Advantages
- Catches bugs early
- Faster, more frequent releases
- Repeatable and reliable
- Less manual, error-prone work
Disadvantages
- Pipelines need maintenance
- Flaky tests erode trust
- Initial setup effort
When should you use it?
On essentially any project with more than a trivial codebase or more than one contributor.
When should you avoid it?
Rarely — even small projects benefit; very early throwaway prototypes might skip it.
Alternatives
Related terms
Interview questions
Beginner
- What does CI stand for?
- What does a CI pipeline do?
Intermediate
- What's the difference between continuous delivery and continuous deployment?
- What is a quality gate?
Senior
- How do you keep a pipeline fast as it grows?
- How would you design safe automated production deploys?
Common misconceptions
- "CI/CD is just a tool" — it's primarily a practice; the tools support it.
- "Continuous delivery means every change auto-ships to users" — that's continuous deployment; delivery may still require a manual release click.
Fun facts
- CI stands for Continuous Integration; CD for Continuous Delivery or Deployment.
- High-performing teams may deploy many times per day.
Timeline
- 2000s — Continuous Integration popularized by agile practices
Learning resources
Quick summary
CI/CD automates building, testing, and releasing code so teams ship small changes quickly and safely.
Cheat sheet
- CI: auto build + test each change
- CD: auto deliver/deploy passing changes
- Catches bugs early
- Enables frequent releases