Preface
Releasing software should be easy.… Automate almost everything, and keep everything you need to build, deploy, test, and release your application in version control.
David Farley, Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation
Back in 1968, the London Underground in the United Kingdom needed a digital sign to warn passengers to be careful while crossing the gaps between train doors and station platforms. Since data storage for such signs was very expensive back in the day, they chose a very short phrase to help keep riders alert: “mind the gap.”
These days, the word “mind” is less commonly used, but the intent to bring awareness to missing parts or things that can trip you up and to act on them is still meaningful. And it is just as important when we apply the idea to business and technical processes that can benefit from automation.
From its inception in 2008, GitHub has filled gaps in terms of allowing users to collaborate and build communities around open source software. And it has done this very well. It is challenging not to overestimate the significance of the SaaS hosting model that GitHub pioneered and the collaborative ecosystem it has built around it. Yet up until a few years ago, there was one key piece of that ecosystem that was clearly missing—a tightly integrated automation platform for key functions like CI/CD.
Certainly, there has been no shortage of applications that have worked to fill that gap. Tools ...