官术网_书友最值得收藏!

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 integration bugs the moment they are born. It is like a big brother watching every member of the development team and, as soon as he/she tries to integrate a new feature into the main application, big brother takes the code, runs everyone's tests against it, generates some reports, and only if everything is okay, generates a fresh build for the project and notifies everyone about it.

The moral of the story is it does not make bugs disappear, but because it looks for them constantly, finding and fixing them is easier and faster.

主站蜘蛛池模板: 英德市| 乐昌市| 桦南县| 临汾市| 珲春市| 扎囊县| 仙桃市| 邵阳市| 石渠县| 江西省| 邯郸县| 海淀区| 偏关县| 定边县| 晋中市| 贡嘎县| 定西市| 邻水| 芦溪县| 景泰县| 永济市| 江永县| 社旗县| 益阳市| 庐江县| 呼伦贝尔市| 洛宁县| 洪洞县| 金川县| 武清区| 彭州市| 丹阳市| 简阳市| 蓬莱市| 关岭| 法库县| 临洮县| 亳州市| 穆棱市| 黎城县| 太和县|