2.3 什么阻碍了团队使用CI
既然CI有这么多好处,那么是什么阻碍了团队在项目中进行持续集成呢?通常,这是综合考虑的结果。
增加了维护CI系统的开销:这通常是受误导的理解,因为不论您是否使用CI,集成、测试、审查和部署的需要总是存在的。管理一个健壮的CI系统要好过管理一些手工的过程。要么管理CI系统,要么被手工过程所控制。具有讽刺意味的是,复杂的跨平台项目是最需要CI的,但这些项目常常拒绝CI,因为“额外的工作太多”。
变化太大:某些人可能认为,对他们的老项目来说,需要改变太多的过程才能实现CI。以增量的方式来实现CI是最有效的,先以较低的频率进行构建和测试(例如日构建),然后在大家都对结果感到满意时增加构建的频率。
失败的构建太多:通常,如果开发者在向版本控制库中提交代码之前没有执行私有构建,就会出现这种情况。有可能是因为某位开发者忘了签入某个文件或某些测试失败了。在使用CI时,因为变更很频繁,所以快速的响应是必需的。
额外的硬件/软件成本:为了有效地使用CI,需要一台独立的集成服务器,和在开发后期才发现问题的代价相比,这是不值一提的小开销。
开发者应该执行这些动作:有时候管理层认为CI似乎只是重复了开发者应该执行的动作。是的,开发者应该执行其中的一些动作,但他们需要以更有效和更可靠的方式,在一个独立的环境中执行。利用自动化的工具可以提高这些活动的效率和频率。另外,这确保了这些活动是在一个干净的环境中执行的,这将减少假定,产生更好的决策。
| 回书目 上一节 下一节 |