Continuous Integration – Continuous Delivery – Continuous Deployment
- CI, CD, and CD are like vectors that have the same direction, but different magnitude. Their goal is the same: make our software development and release process faster and more robust
- The key difference between the three is in the scope of automation applied. What gets people who are new to the field confused is that they are not mutually exclusive, but include each other, like Russian dolls
- CI: short-lived feature branches, team is merging to master branch multiple times per day, fully automated build and test process which gives feedback, ideally, within 10 minutes; deployment is manual
- Continuous Delivery (CD): CI + the entire software release process is automated, it may be composed of multiple stages, and deployment to production is manual
- Continuous Deployment: CI + CD + fully automated deployment to production