8 Continuous delivery and deployment
This chapter covers
- Publishing Modules to Private Registries
- Reducing Maintenance Burdens with Semantic Versioning
- Deploying Infrastructure
- Continuous Delivery (CD) Platforms
- GitOps
- Terragrunt
- Secret Management
As the software industry has evolved so have the tools that we use for it. Continuous Integration and Continuous Delivery have been so entwined that most people refer to them together as CICD, and until recently it was common to use Continuous Integration systems as delivery and deployment tools. If this book was written 10 years ago it’s very likely that CICD would be a single chapter.
The industry has moved on to the point where it’s recognized that Continuous Integration is not Continuous Delivery. Continuous Integration systems are focused around source code and making sure there is always a workable copy of the program available. This is why so many SCMs have CI features built right into them. In the last chapter we discussed why this is important: it increases security, reduces errors, and makes developing new features easier. All of this is vital to make Continuous Delivery possible, but it doesn’t actually build our infrastructure.