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
		