Continuous Integration Illustrated
CI illustrated.
When I tried to help my team members understood Continuous Integration (CI) 14 years ago, I created a set of diagrams for a quick overview of CI and its steps. I would like to share them in this article.
Continuous Integration, simply put, is to run a server to check the source control for new changes and then run a series of build tasks. Some common CI build tasks are listed below in the order of execution:
Table of Contents:· 1. Source Control Update
· 2. Database Migration
· 3. Compile
· 4. Unit Testing
· 5. Code Coverage
· 6. Package
· 7. Deploy
· 8. End-to-End Testing
· 9. Source Control Tagging
· 10. Publish
Here is a diagram:
Though the above diagram was created over 14 years ago, I believe it is still valid today.
As you can see, a CI process consists of 10 steps. A failure in even one build step (return non-zero from the execution) will exit the whole build process: failure. In other words, a good build must pass all the specified build steps.
What I listed are just common CI steps and many of which are optional. For example, the ‘Compile’ step is unnecessary for Ruby on Rails projects. A CI process may also include other build steps, such as performance testing or API…