Continuous Integration & Deployment
Continuous Integration
- The practice of merging all developer working copies to a shared mainline several times a day.
- Grady Booch first proposed CI in his 1991 method
- Extreme programming (XP) adopted the concept of CI
- It automates build and testing of code every time code is committed for changes.
- Needs a shared version control repository.
- CI prevents integration problems
- Every code change is integrated as it’s developed.
Continuous Delivery
- It is the ability to get changes of all types into production
- Changes include
- new features
- configuration changes
- bug fixes
- experiments
- The code should always be in a deployable state
- It automates the flow to production.
- It is the process to
- Build
- test
- configure
- deploy
from a build to a production environment.
- Multiple testing create a Release Pipeline to automate deployment
- Used to sequence multiple deployment “rings” for progressive exposure
- Aims to keep production fresh by achieving shortest path from availability of new code to deployment.
- Uses extensive automation, to minimize time to deploy and mitigate or remediate production incidents (TTM and TTR).
- Involves
- comprehensive configuration management
- continuous integration
- continuous testing
AWS Certified DevOps Engineer Free Practice TestTake a Quiz