What do continuous integration, continuous delivery, and continuous deployment mean?
-
What is Continuous Integration? (CI)
Multiple developers working on their apps or infrastructure code, regularly merge code changes into central SCM repositories. git is one the most popular source code management tools to enable this. After code is merged/committed, a build of the code occurs.
Why?
The idea mainly being during the build process errors & bugs are identified quicker and so fixed quicker and ready for testing again, this cycle is repeated until a successful build is produced.References
https://aws.amazon.com/devops/continuous-integration/
https://en.wikipedia.org/wiki/Continuous_integrationWhat is Continuous Delivery? (CD)
Mentioned in the same breath as CI, because it is part of a pipeline, starting with CI and going onto CD. Continuous Delivery means code changes are built, staged (various tests), then upon approval process only goes into live/production. Do not confuse Continuous Delivery with Continuous Deployment
Why?
The idea being the bugs & new features are deployed in a controlled manner after all types of testing is done and after developer approval.References
https://aws.amazon.com/devops/continuous-delivery/
https://en.wikipedia.org/wiki/Continuous_deliveryWhat is Continuous Deployment? (CD)
The difference between this and Continuous Delivery is Continuous Deployment automatically deploys the tested code/app/application into production without the developer approval.
Why?
The idea being the bugs & new features are deployed as soon as tested without developer approval, users benefit from quicker bug fixes and new features.References.
https://puppet.com/blog/continuous-delivery-vs-continuous-deployment-what-s-diffGood Diagram showing the workflow.
Link: https://en.wikipedia.org/wiki/Continuous_delivery
© Lightnetics 2024