In this chapter, we went through one of the most important aspects of the DevOps philosophy: changing the way code is released.
Our first objective was to improve the developers' productivity. To that effect, we built a continuous integration pipeline. Taking advantage of Jenkins and GitHub, we created a new workflow where developers commit their code in individual branches and submit pull requests. The branches are automatically tested with Jenkins and a final peer review ensures that the code committed is of high quality.
Thanks to that change, the code present in the master branch of our project is always good and worth being pushed to staging. To accomplish that, we built a continuous deployment pipeline. Thanks to AWS CodeDeploy and CodePipeline we were able to build a fully functional pipeline easily. The pipeline has all the desired features an operator could...