In the last chapter, we covered how server clustering works and how we can use it together with Docker and Jenkins. In this chapter, we will see a mixture of different aspects that are very important in the Continuous Delivery process but have not been described yet.
This chapter covers the following points:
- Explaining how to approach database changes in the context of Continuous Delivery
- Introducing the idea of database migration and related tools
- Exploring different approaches to backwards-compatible and backwards-incompatible database updates
- Using parallel steps in the Jenkins pipeline
- Creating a Jenkins shared library
- Presenting a way to roll back production changes
- Introducing Continuous Delivery for legacy systems
- Exploring how to prepare zero-downtime deployments
- Presenting Continuous Delivery best practices