Continuous Integration
What is the CI?
I want to tell it with an example. While working with a software development team, usually we use GitHub or something else to push our code into this shared repository several times a day. Each commitment is then verified by an automated build, allowing teams to detect problems early.
The primary purpose of continuous integration is to detect problems early and quickly that may occur during the development process. if we don’t follow a continuous approach, we long periodically deploy our system and that brings a lot of tenses. It is too hard to find and fix problems. Minor mistakes at the deployment stage may cause the project to fail altogether.
To put it simply;
- We check the code locally on the computer
- We commit changes to the repository
- Repository sends a request (webhook) to CI system
- CI server try to do (tests, coverage, check syntax and others)
- If the build or tests fail, the CI server alerts the team
- The team fixes the issue
“Continuous Integration doesn’t get rid of bugs, but it does make them dramatically easier to find and remove.”
— Martin Fowler, Chief Scientist, ThoughtWorks