Chapter Four · Part 2: The Toolchain

Continuous Integration

In Chapter 3 a team learned to work on the same code without colliding. But all that separate work has to come back together eventually — and that reunion used to be the most dreaded moment in software. This chapter is about combining changes early and often, and letting a machine check each one the moment it lands.

3 topics

When Maya finishes her "favorites" feature on a branch, her work has to merge back into the shared code that everyone else is building on. Multiply that by a whole team, each off on their own branch, and you get a pile of separate changes that all need to fit together. Combining them is called integration — and the longer a team waits to do it, the more painful it gets.

Continuous integration is the answer: merge each small change quickly, and have a machine build the app and run its tests every single time, so a problem is caught minutes after it's created instead of weeks later. These three topics build that idea up — first what "integration" even means, then continuous integration itself, then the automated tests that make the whole thing trustworthy.

What continuous integration does to every change
Commita change lands
→
Buildassemble the app
→
Testrun the checks
→
Pass / Failreport back fast

Topics in This Chapter