Continuous delivery (CD) is an extension of the concept ofcontinuous integration (CI).
Whereas CI deals with the build/test part of the development cycle for each version, CD focuses on what happens with a committed change after that point. With continuous delivery, any commit that passes the automated tests can be considered a valid candidate for release.
Continuous delivery has a number of benefits. With this method, code is delivered in a steady stream for user acceptance testing (UAT) or the staging environment for evaluation or peer review. In the staging environment, the code can be tested for all aspects of functionality including business rulelogic (something unit tests can’t do reliably). Because CD is ongoing and testing occurs quickly, developers can often receive feedback and start working on fixes before they have moved on to another aspect of the project. This can increase productivity by minimizing the effort required to refocus on the initial task. If an iterative process is becoming unwieldy due to increasing project complexity, CD offers developers a way to get back to doing smaller, more frequent releases that are more reliable, predictable and manageable.