Continuous Integration and Continuous Deployment
Continuous Integration
I often regard it as continuously commiting small well-understandable codes to your codebase, merging to the master branch and being tested.
Advantages
- Easily get reviewed by teammates.
- Avoid commiting big faulty codes which are hard to fix and can destroy your codebase.
- Easily get tested.
- Reduce risk of conflicts.
Continuous Delivery/Deployment
It is a process of deploying and delivering latest version of the product to the user. You can regard this as releasing latest version of package or website, etc.
Procedure
- Code: create codebase.
- Build: install required packages and system.
- Test: test codebase.
- Deploy: release the latest version of the package or website.
References