Delivery vs Deployment
"Continuous delivery" and "continuous deployment" sound like the same thing said twice. They even share the same initials — CD — which is why people use them interchangeably and quietly confuse each other. But they name two different things, and the gap between them is the single most useful distinction in this chapter.
Here is the whole difference in one sentence: continuous delivery keeps every change ready to release at the push of a button, and continuous deployment removes the button. One leaves a human in charge of the final "go"; the other lets the machine push it out the moment the tests pass. Everything else in this topic is just that idea, looked at from a few angles.
What is continuous delivery?
Continuous delivery means the app is always ready to release. Every change Maya merges is automatically tested and built into a finished, shippable package, then parked at the door — proven, and waiting. Nothing is half-done or in an unknown state.
But it does not go out on its own. A person — Sam, or whoever owns the release — looks at it and presses the button to send it to readers. The work of preparing a release is fully automated; the decision to release is still a human one. That human-held button is the defining feature of delivery.
What is continuous deployment?
Continuous deployment takes that exact setup and automates the final step too. When a change passes every test, it deploys itself to real users — no button, no waiting, no person in the loop for that last move. Maya merges a fix in the morning and readers can be using it minutes later.
This sounds reckless until you see what holds it up. Because no human inspects each release, the automated tests have to be trusted completely — continuous deployment needs *more* testing discipline than delivery, not less. The safety moved from a person's judgment into the test suite.
The single difference
So the two are the same pipeline with one thing changed: whether a human approves the final release, or the machine does it automatically. Between the two terms, that is the whole difference. Continuous delivery stops one step short of users and waits for a person; continuous deployment runs all the way through.
Think of two ways to send out packages. Continuous delivery is a loaded delivery truck, fully packed and ready, idling until the driver decides to pull out. Continuous deployment is a conveyor belt that carries each package straight out the door the instant it's sealed. Same packages, same loading — the difference is only whether a person says "now."
Both stand on CI
Neither one works without the step before it. Back in Chapter 4, continuous integration made every change get tested and built automatically the moment it was written. Delivery and deployment are what happens to that tested, built result next — they pick up exactly where CI leaves off.
That is why you so often see the three letters together as "CI/CD." CI gets each change verified and packaged; CD gets it released. You cannot safely auto-release something you haven't first auto-tested, so CD extends CI rather than replacing it — the build half and the ship half of one pipeline.
- "Delivery and deployment are the same thing." They share the initials CD, but they differ on one point: delivery keeps a human approving the final release, deployment automates it away.
- "Continuous deployment means skipping testing." The opposite — because no person inspects each release, it needs the *most* testing of all. The tests are the only safety net left.
- "CD replaces CI." It extends it. CI tests and builds each change; CD releases the result. You cannot safely auto-release something you never auto-tested.
- "Continuous delivery means releasing constantly with no control." Delivery keeps every change *ready* to release; a human still chooses when to actually press the button.
- "CI/CD" is one of the most-used phrases in DevOps; knowing which half is which lets you read almost any team's setup correctly.
- The human-button-or-not question is a real choice every team makes — and it tells you how much they trust their tests.
- This is the safe, frequent shipping that the wall between Dev and Ops once made impossible; it's the mechanism behind "release often."
- You'll see these pipelines built for real in Git, GitHub & GitHub Actions, and pushed further in a later GitOps / continuous delivery course — this is the concept they assume you already hold.
Knowledge Check
What is the one real difference between continuous delivery and continuous deployment?
- Whether a human approves the final release or the machine does it automatically
- Whether the changes get tested and reviewed by the team before they are allowed to go out
- Whether the code is built into a finished package
- Whether it runs in the cloud or on your own servers
Why does continuous deployment actually need more testing discipline, not less?
- No person inspects each release, so the tests are the only safety net left
- Because automatic releases are much slower to run
- Because it automatically deploys to far more users than any other release method does
- Because it skips the continuous integration step entirely
How do continuous delivery and deployment relate to continuous integration (CI)?
- They pick up where CI leaves off — CI builds and tests, CD releases the result
- They completely replace CI, which a team no longer needs at all once it has CD set up
- They are completely separate tools with nothing to do with CI
- They run before CI, preparing changes for it to test
You got correct