The importance of Continuous Integration
Imagine that we are a team working on the subject of this book (which is a task management and team collaboration web application). Suppose that I'm working on CoreBundle
, you are working on ProjectBundle
, and James (another developer) is working on UserBundle
. As individuals, we are doing our job professionally; we create tests and scenarios, maintain best practices for the coding, and make sure that all tests pass successfully every time we finish developing a new feature. However, there is one big problem here. There is not that much communication here because we work individually.
Having said this, we will much likely experience Integration Hell at the end when we try to integrate all the individual components into the main application. Statistics show that the amount of resources spent on fixing these integration issues sometimes equals to the same amount spent on creating the code itself.
CI is a software development practice that helps catch...