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

  1. Easily get reviewed by teammates.
  2. Avoid commiting big faulty codes which are hard to fix and can destroy your codebase.
  3. Easily get tested.
  4. 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

  1. Code: create codebase.
  2. Build: install required packages and system.
  3. Test: test codebase.
  4. Deploy: release the latest version of the package or website.

References