Continuous delivery is a software development practice where code changes are automatically prepared for a release to production. It expands upon continuous integration by deploying all code changes to a testing environment and then to a production environment after the build stage. When properly implemented, it ensures developers always have a deployment-ready build artifact that has passed through a standardized test process.
Continuous delivery encourages developers to automate testing beyond simple unit tests so they can verify application updates across multiple dimensions before deploying to customers. These tests may include UI testing, load testing, integration testing, API reliability testing, etc. This helps developers more thoroughly validate updates and pre-emptively discover issues.
With cloud environments, it is easy and cost-effective to automate the creation and replication of multiple environments for testing, which was previously difficult to do on-premises.
Read More