Introducing automated CI
CI is a process that combines the benefits of both automated testing and version control systems to achieve a fully automated integration environment. With a CI development approach, we integrate our code into a shared repository frequently. Every time we add our code to a repository, the following two processes are expected to kick in:
- An automated build process starts to validate that the newly added code is not breaking anything from a compilation or syntax point of view.
- An automated test execution starts to verify that the existing, as well as new functionality is as per the test cases defined.
The different steps and phases of the CI process are depicted in the following diagram. Although we have shown the build phase in this flowchart, it is not a required phase for Python-based projects as we can execute integration tests without compiled code:
To build a CI system...