What is it?
Continuous Delivery (CD) is an engineering practice where each change could be a potentially release ready for production. This practice builds on top of the Continuous Integration practice as its starting point and adds to the end a step that releases artifacts for anyone to use. These artifacts could be software packages, container images or virtual machine images.
This practice typically requires automation that is run on a server such as Jenkins.
Why use it?
- Automation reduces the manual work required to do the release, such as publishing the artifact to required locations for deployment and releasing of change notes that can now be taken from version control commit messages.
- Faster feedback cycles from customers as each change to software can be deployed to production.
- Happier operations as released software is tested to be ready for production deployment.
- Readiness to do push button deployments. This can also be taken to the next level which is Continuous Deployment.
- Wikipedia definition for Continuous Delivery.