3 Version control is the only way to roll

 

In this chapter

  • understanding why version control is essential to CD
  • keeping your software in a releasable state by keeping version control green and triggering pipelines based on changes in version control
  • defining config as code
  • enabling automation by storing all configuration in version control

We’re going to start your continuous delivery (CD) journey at the very beginning, with the tool that we need for the basis of absolutely everything we’re going to do next: version control. In this chapter, you’ll learn why version control is crucial to CD and how to use it to set up you and your team for success.

Sasha and Sarah’s start-up

Recent university grads Sasha and Sarah have just gotten funding for an ambitious start-up idea: Watch Me Watch, a social networking site based around TV and movie viewing habits. With Watch Me Watch, users can rate movies and TV shows as they watch them, see what their friends like, and get personalized recommendations for what to watch next.

Sasha and Sarah want the user experience to be seamless, so they are integrating with popular streaming providers. Users don’t have to tediously add movies and TV shows as they watch them, because all of their viewing will automatically be uploaded to the app! Before Sasha and Sarah get started, they’ve sketched out the architecture they want to build:

They’re going to break up the backend logic into three services:

All kinds of data

Source and software

Repositories and versions

Continuous delivery and version control

Git and GitHub

An initial commit—with a bug!

Breaking main

Pushing and pulling