Continuous integration and delivery
Continuous integration (CI) and continuous delivery (CD) play a crucial role in software development productivity. They are collectively named CI/CD in many discussions due to their close relationship.
When we discussed the cost of finding and fixing an issue with an application in Chapter 13, we mentioned that the cost to fix an issue is lower if it is found earlier in the development process. In a typical environment in which a team of engineers work collaboratively on a source repository, it is also less expensive to fix an issue that is caused by code conflicts from this collaboration.
CI is a software development practice in which engineers frequently integrate their changes into a shared source repository. The primary goal of CI is to detect integration issues early and reduce the time it takes to release new features or fixes. The practice of CI includes the following:
- Frequent commits: Changes are frequently committed by multiple...