Continuous integration
As described in Chapter 1, continuous integration (CI) is the process of building, testing, and packaging your code automatically in a workflow/pipeline-based way. The process is and should be triggered by every change in the code base, either by the execution of a webhook or periodic watching of the git repository. As an example, developers push changes to the respective feature branch in their code repository. The CI pipeline is triggered and builds the code, runs different levels of tests, and gives feedback to the developers. Here are some things to consider throughout the process:
- Performance: Developers should get feedback as fast as possible, but they want to get as much confidence in their code as possible. Therefore, it is instrumental to decide which tests should run at which time in the pipeline and how long it takes to execute the tests. Furthermore, it is always important to define the scope of each build. For example, there might be multiple...