Before going further, it’s worth noting that although CD is used to describe both continuous delivery and continuous deployment, the two terms are not precisely synonyms. Here, we address the similarities, differences, and benefits of each:
Continuous deployment
In continuous deployment, as developers successfully build and test applications—and make ongoing changes to applications—these applications and updates are automatically delivered to UAT (user acceptance testing). The code is tested for all aspects of functionality, and if it passes, the working version of the application is pushed to production automatically.
This occurs without the need for an approval cycle, meaning that developers will need to ensure that their test site is effective and reliable. The advantage is that teams can deploy multiple apps or updates in a very short amount of time, and with minimal manual action.
Continuous delivery
Continuous delivery is similar to continuous deployment, except that once the app has been validated in UAT, it still has to wait on the development team to manually trigger deployment. This allows developers to implement feedback and make ongoing fixes, only releasing the final product when they feel it is absolutely ready. Continuous delivery needs to take manual review and deployment times into account.