In this chapter, we took a whirlwind tour through the systems that build our code. We had a look at constructing a CI server with Jenkins. We also examined a number of problems that might arise, because the life of a DevOps engineer is always interesting but not always easy.
In the next chapter, we will continue our efforts to produce code of the highest quality by studying how we can integrate testing in our workflow.