Understanding CI patterns
CI refers to the practice of automating the integration of code changes from multiple contributors (or even multiple projects) into a single project. These automated processes may happen once a day or several times per hour. We can consider CI as the part of the software supply chain where we build our application (or its components) and launch different tests before moving to production. The second part of this process is deploying the application or its components into production, although some intermediate environments can also be employed to test the quality of the solution or certification in special circumstances (for example, integrating our solution with a third-party solution release from a vendor).
In this section, we are going to review some of the most common patterns used for CI in the most intuitive logical order. Developers should always get the last version of their code to start developing a new feature or start over the creation of a new...