Continuous Delivery


Continuous Delivery (CD or Continuous Development) is a Software development practice where code changes are automatically built, tested, and prepared for Production tier release.

Continuous Delivery is part of the CI/CD Pipeline.

Continuous Delivery is closely related to Continuous integration and refers preparation of software that passes the automated Testing. (Definition of Done)

"Essentially, it is the practice of releasing every good build to users”, explains Jez Humble, author of Continuous Delivery.

By adopting both Continuous integration and Continuous Delivery, you not only reduce risks and catch bugs quickly, but also move rapidly to working software.

With low-risk releases, it is easier and faster to provide Business value. This fosters for greater collaboration between dev and Ops, fueling real change in your organization, and turning your release process into a business advantage.

Allow a Responsive Organizations to perform Continuous Delivery often using DevOps

Continuous Delivery is not Production tier Release#

One misconception about continuous delivery is that it means every change committed is applied to production immediately after passing automated tests. However, the point of Continuous Delivery is not to apply every change to Production tier immediately, but to ensure that every change is ready to go to Production tier.
Continuous Delivery is a Development Team's Definition of Done. The decision to move to the Production tier is a business decision usually by the Product Owner

Continuous Delivery may be a Development Team decision in some environments when release is a Bounded Context of a Software library not changing the API or interface as in Microservice Architecture

More Information#

There might be more information for this subject on one of the following: