Chapter 12. Releasing
Congratulations! You’ve made it to the final chapter of this step-by-step journey to production with continuous deployment. In the preceding chapters, I described a workflow for building, testing, and of course deploying software continuously. Now it’s time to turn our attention to releasing it.
As I explained in Chapter 3, continuous deployment enforces a distinction between deployments and releases. Deployments are routine technical events that happen multiple times a day, driven by engineering needs. Most importantly, they are executed without affecting unsuspecting users in production. Releases, on the other hand, are free to adopt a cadence of their own, independent of that of deployments; they exist purely as a business event and are driven by product needs. While the majority of this book focused on engineering and therefore deployments, it is only fair that we end the book by giving some thought to the product side.
After all, the ultimate goal of building software should be to definitely affect users in production, which is only possible with well-thought-out and well-planned releases. Otherwise, we might as well not have bothered with continuous deployment at all. Releasing is not just another step in the value stream of code. It is the only moment when any activity around building software can finally come to fruition. Because of its importance, we should execute this step carefully and methodically, leveraging engineering tools to extract as much ...
Get Continuous Deployment now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.