Continuous Deployment

The continuous deployment strategy involves automatically releasing every code change (commit) into the production environment after it is (automatically) built, integrated and has passed the automated testing. This makes changes immediately visible to the software's users.

Continuous deployment can help reduce the risk of errors in live software by eliminating the need for manual approval of code changes.

To be effective, continuous deployment must be used in conjunction with other production-ready development practices. Practices such as rigorous automated testing and real-time monitoring of production environment. This will allow any issues with new releases to be detected quickly and efficiently.

The need for continuous delivery can be traced back to the first principle of the Agile Manifesto (origin Feb, 2001):

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

Also see: Continuous Delivery, Continuous Integration