Part 2. Keeping software in a deliverable state at all times

 

Now that we’ve covered the basic concepts in continuous delivery, we’ll explore how to keep your software in a deliverable state by using continuous integration.

Chapter 3 explains the vital role that version control plays in continuous delivery; without version control, you can’t do continuous delivery.

Chapter 4 looks at a powerful but little discussed element of continuous integration: static analysis—specifically, linting—and how you can apply linting to legacy codebases.

Chapters 5 and 6 both deal with testing: the vital verification piece of
continuous integration. Rather than trying to teach you how to test (a wealth of information on that topic is already available in many other books),
these two chapters focus on common problems that build up in test suites over time—specifically, test suites that have become noisy or slow.

Chapter 7 walks through the life cycle of a code change and examines all the places where bugs can sneak in. You’ll learn how to set up automation to catch and squash those bugs as soon as they appear.