CICD - Continuous Integration and Continuous Delivery
DevOps Foundations: Continuous Integration and Continuous Delivery
Continuous Integration Principles
Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day.
- Have a single place where all the code lives
- Everyone commits to the mainline every day
- Automate the build process
- Fix broken build immediately
-
Make and keep the build fast
-
Every commit triggers a build
- Automate the testing process
- Everyone has access tot he latest result
- Everyone can see everything
Continuous Delivery principles
Continuous Delivery (CD) is a software development discipline where software can be released to production at any time.
- Have continuous integration in place
- Development and Operations should work well together
- Treat infrastructure as a code artifact
- Automate the environment creation process
- Automate the release process
-
Automate acceptance tests
-
Include release to definition of done
- Releasing should be on-demand
- Everyone has access to the latest result
- Everyone can see everything