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

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.

主站蜘蛛池模板: 高唐县| 西青区| 丰都县| 安岳县| 青州市| 尖扎县| 铁岭县| 清流县| 原阳县| 广昌县| 平江县| 荣昌县| 科技| 大冶市| 华宁县| 苏尼特左旗| 东海县| 黎川县| 高阳县| 庆城县| 边坝县| 宝鸡市| 阿拉善盟| 中阳县| 集贤县| 久治县| 施秉县| 景德镇市| 苏尼特右旗| 武乡县| 达孜县| 香河县| 临漳县| 乌拉特后旗| 达尔| 福清市| 西藏| 乐昌市| 阳曲县| 江门市| 安平县|