Continuous deployment is a strategy for software releases wherein any commit that passes the automated testing phase is automatically released into the production deployment.
By submitting your personal information, you agree that TechTarget and its partners may contact you regarding relevant content, products and special offers.
Continuous deployment is not the same thing as continuous delivery, although the two terms are often confused. Clarification between the two terms is not helped by the fact that continuous deployment and continuous delivery share the same acronym (CD). The goal of continuous delivery is to frequently hand off new code on a regular basis to the quality assurance (QA) and operations teams for testing. This usually involves a production-like staging area and there is often a time lag between when a release can be reviewed on stage, when change are manually accepted and when the new code is released to production. In contrast, continuous deployment does not require a staging area to be manually reviewed because automated testing is integrated early in the development process and continues throughout all phases of the release. Consequently, there is no time lag between when a code change passes application and platform-level testing and when it moves into live production. Both CDs rely upon real-time infrastructure and application monitoring tools to discover any problems that were not caught in the testing feedback loops before deployment.
Regulatory compliance or other restrictions may prevent an IT organization from adopting continuous deployment. Other considerations, such as maturity of DevOps processes and best practices within the IT organization, should also influence the decision of whether or not to deploy code on a continuous delivery basis, a continuous deployment basis, or some combination of the two approaches based on use-case.