Continuous Integration vs Delivery vs Deployment
The three terms form a ladder: each one automates more of the path to production than the last. The "CD" in CI/CD is ambiguous on purpose.
People say "CI/CD" as one word, but it hides three distinct practices with different costs and guarantees. Knowing where each ends prevents miscommunication about what your pipeline actually does.
Continuous integration
CI stops at "verified". Every change is merged to a shared branch frequently and automatically built and tested. The output is confidence that the codebase is healthy - not a release.
Continuous delivery
Continuous delivery extends CI so that every passing change is automatically packaged and proven deployable, right up to the production gate. The final push to production is a deliberate, often one-click, human decision.
Continuous deployment
Continuous deployment removes the human gate: every change that passes the pipeline goes straight to production automatically. It demands strong tests, good observability, and fast rollback, because there is no manual checkpoint.
Choosing where to stop
- CI alone is the baseline every team should have.
- Continuous delivery suits teams that want frequent releases but a human "go".
- Continuous deployment suits mature teams with high test confidence and instant rollback.
Key takeaways
- CI ends at "tested and healthy", not released.
- Continuous delivery keeps software always releasable with a manual final push.
- Continuous deployment auto-ships every passing change to production.
- The right level depends on your test confidence and rollback speed.