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

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.

主站蜘蛛池模板: 连江县| 聊城市| 高台县| 奇台县| 六盘水市| 外汇| 华池县| 老河口市| 买车| 越西县| 武川县| 奉新县| 平泉县| 方城县| 德庆县| 梅河口市| 绍兴市| 富裕县| 白沙| 荆州市| 庆云县| 郴州市| 西峡县| 克山县| 平武县| 桐庐县| 思南县| 眉山市| 萨迦县| 城口县| 东明县| 宣城市| 海门市| 会东县| 德保县| 建德市| 柳林县| 榆中县| 修文县| 远安县| 舟山市|