Continuous integration is the part that catches mistakes: every change runs the build, the type check, the tests and the linters before anyone merges it, so a broken state is caught in minutes rather than discovered by a user. Continuous delivery is the part that removes ceremony from releasing, so shipping is a routine event rather than an occasion.
The second-order effect is the real one. When deploying is boring, changes get smaller, and small changes are easier to review, easier to roll back and less likely to break anything. Teams without it tend to batch work into large, risky releases precisely because releasing is unpleasant, which makes each release more unpleasant still.
Related terms
The bench this belongs to
Full-stackIf you can describe it, we can build it. React and Next.js on the front, Python or Node behind, Postgres underneath, shipped to somewhere you can afford to run.
