Continuous deployment vs. continuous delivery
In an active CI/CD pipeline, teams continuously build, test, and deploy new code. In a robust continuous deployment pipeline, all of the builds, tests, and deployments exhibit a high degree of automation. Establishing each of the environments and configuring the various types of testing suites enables developers to submit code with confidence. Preliminary automatic testing quickly reveals bugs or problems. Early identification means that developers can immediately begin work to find a remedy for any defects found.
When a change is dev-complete, a code review is done with a QA team member testing all new code. Following tester approval, the pipeline automatically picks up the code and runs all applicable tests. If all of the code passes all of the tests, it automatically proceeds directly to a performance testing environment and then onto the production environment.
The additional automation is what distinguishes continuous deployment from mere continuous delivery.
Continuous delivery: Human intervention is necessary to update the production environment with the latest changes.
Continuous deployment: Updates automatically move to the production environment.