Continuous Integration (CI)
CI is a development practice where developers merge their code changes into a central repository (like GitHub) frequently—often several times a day. When code is merged, an automated build process runs immediately.
The CI Process
- Commit: A developer pushes code changes.
- Build: Automated software compiles the code and runs unit tests.
- Test: If all tests pass, the change is merged. If tests fail, the team is alerted immediately to fix the issue ("fail fast").
Continuous Delivery and Deployment (CD)
CD extends CI by automating the release process. This ensures that every successful build can be released to users quickly and safely.
Continuous Delivery means code is ready to be deployed at any time, often requiring a manual button push to go live. Continuous Deployment takes it a step further: every successful change is automatically released to production without human intervention.