CI vs continuous delivery vs continuous deployment
Updated 2026-11-13 · 3 min read
Continuous integration merges and tests every change automatically. Continuous delivery keeps every passing change ready to release, with a person deciding when. Continuous deployment releases every passing change to production automatically. The only difference between the last two is the manual approval.
The three terms are often mixed up. The word "CD" is the cause: it can mean delivery or deployment, and they are different.
The difference in one table
| Continuous integration | Continuous delivery | Continuous deployment | |
|---|---|---|---|
| What it means | Developers merge small changes often; every merge is built and tested automatically | Every change that passes is automatically prepared and ready to release at any time | Every change that passes is released to production automatically |
| Who presses the release button | Not applicable | A person (or a scheduled decision) | Nobody: it happens by itself |
| Goal | Find integration problems within minutes | Make releases routine and low risk | Remove the delay between finishing a change and users getting it |
| Needs | A build and a fast automated test suite | Automated deployment to a production-like environment, plus release checks | Strong automated tests, monitoring and an automatic or very fast rollback |
| Tester's role | Fast, reliable automated checks on every change | Maintain the release checks and the sign-off evidence | Own the quality gates, because they are the only gate |
An example pipeline
- A developer opens a pull request. CI builds it and runs linting, unit tests, API tests and a small browser smoke set. Red means no merge.
- The change merges to
main. CI runs again on the merged code. - The pipeline deploys to a staging environment and runs the fuller regression and checks.
- Delivery stops here: the release is ready, and a person (the product owner, release manager) approves it, perhaps on a fixed day.
- In deployment, step 4 does not exist: if step 3 passes, the pipeline deploys to production, runs smoke tests, watches the monitoring, and rolls back by itself if error rates jump.
Example
A team merges a fix at 11:00. With CI they know by 11:10 that it works with everyone else's changes. With continuous delivery the fix is in a staging build that evening, and the product owner releases it on Thursday as planned. With continuous deployment it is in production at 11:40 and users have it before lunch.
How to answer in an interview
"Continuous integration means merging often with an automated build and tests on every change. Continuous delivery means every change that passes is always ready to release, but a person decides when. Continuous deployment goes one step further and releases every passing change automatically. The difference between the last two is the manual approval." Then add the tester's point: "The more automatic it is, the more the quality of the automated checks matters, because they become the only gate."
Likely follow-up: Which would you choose for a banking application? Usually continuous delivery with a manual approval and a change-control record, because of regulation and risk. Continuous deployment suits products where a fast rollback is cheap and monitoring is strong.
See the full set of questions in the CI/CD interview questions, and build a pipeline yourself with the GitHub Actions tutorial.
Quick answers
What does CD stand for?
Either continuous delivery or continuous deployment. When someone says CI/CD, ask which they mean: the difference is whether a person approves the release to production.
Can a team do continuous deployment without good automated tests?
Not safely. Releasing every passing change automatically means the tests and checks are the only gate, so the automated suite, monitoring and a fast rollback must be trustworthy.
Want a project you can show in interviews?
The portfolio project kit walks you through testing a deliberately buggy app with Selenium or Playwright and API tests, then explaining it. The app itself is free.
