Summary
In this chapter, we have learned how we can extend a basic pipeline to the needs of a specific project. All of the shown techniques can be, and most likely will be, combined. This can create a very robust and dynamic automation process that can handle more or less every scenario.
In the next chapter, we will learn the process of completing continuous integration/continuous delivery, which includes quality gates, automated testing, and versioning.