Introduction to continuous integration
Wouldn't it be great if a tool would guarantee that not a single line of code would break the functionality you are testing?
That's what continuous integration (CI) is about. CI is the practice of running test code before introducing a change into the code base. Atlassian wrote a great definition of CI (https://www.atlassian.com/continuous-delivery/continuous-integration): Continuous integration (CI) is the practice of automating the integration of code changes from multiple contributors into a single software project. It's a primary DevOps best practice, allowing developers to frequently merge code changes into a central repository where builds and tests then run. Automated tools are used to assert the new code's correctness before integration.
Let's review an ideal workflow:
- We have our code base in a source control repository. It could be GitHub, Gitlab, Bitbucket, or a local server hosting a...