In the last section, we discussed the Jenkins pipeline patterns used to speed up the build execution (parallel steps), help with the code reuse (shared libraries), limit the risk of production bugs (rollback), and deal with manual approvals (manual steps). This section presents the next group of patterns, this time related to the release process. They are designed to reduce the risk of updating the production to a new software version.
We already described one of the release patterns, rolling updates, in Chapter 8, Clustering with Docker Swarm. Here, we present two more: blue-green deployment and canary releases.