CI/CD - Deployment Foundation
Explore the foundations of Continuous Integration and Continuous Deployment techniques used to produce immutable software artifacts and automate deployment to multiple environments. Understand the importance of one build for many deploys, immutability, and automated rollbacks to ensure consistent and reliable releases in enterprise software development.
We'll cover the following...
If I had to describe the Continuous Integration/Continuous Development (CI/CD) with a single sentence, I would only mention this basic yet essential principle: one build, many deploys.
In the next two sections, I will briefly recap the topics of Continuous Integration and Continuous Deployment, as these two techniques comprise a foundation of successful releases.
Continuous Integration
Continuous Integration (CI) is responsible for preparing a single artifact that you can deploy into multiple environments.
To achieve this objective, the CI needs to encompass the following steps:
- Monitor a codebase for changes and automatically trigger a build verification process. If any of the subsequent steps fail, CI needs to take course-correcting actions by either informing respective parties or automatically rolling back the changes.
- Compile a new version of the codebase to ensure the feasibility of creating binaries after the last change.