Chapter Eight · Part 2: The Toolchain

Delivery & Deployment

Continuous integration got every change tested and built the moment it was written. This chapter is the other half: actually getting those tested changes in front of readers — safely, often, and without the dread of a big release night. That is what continuous delivery and continuous deployment are for.

3 topics

A change that passes its tests is not yet a change readers can use. It still has to travel from the build that came out of CI all the way to the live app, and that journey is where releases have always gone wrong — done rarely, in big risky batches, late at night, with everyone holding their breath. The point of this chapter is to make that journey routine instead of frightening.

Three topics do it. First, the two phrases people mix up constantly — continuous delivery and continuous deployment — and the one real difference between them. Then the chain of environments a change passes through on its way to users, so problems get caught early. And finally the release techniques that let a team ship often and still sleep at night: letting a few users try a change first, and keeping an instant undo button.

A change doesn't jump straight to readers — it earns its way along a line
Developmentwritten & tried
Stagingfinal rehearsal
Productionreal readers

Topics in This Chapter