持续集成的好处包括下面这些:
1 减少风险
通过每天集成变化的代码并发布,我们将减少项目的风险。这样做将可以推动尽早发现缺陷;尽早估量软件的质量;尽早排除假设。
----尽早发现缺陷并修复缺陷软件开发中每天持续集成,并进行测试和评审,这些过程有许多的机会发现缺陷。
-----尽早估量软件质量通过在持续集成中实施持续测试和评审的活动,软件产品的健康属性,例如复杂性,将被全程跟踪。
-----尽早排除假设通过在一个纯净的环境中,用同样的脚本和过程构建和测试软件,开发人员可以减少假设:是否使用了不正确的第三方的库,是否使用了不同的环境参数等。
2 减少重复的过程
通过减少重复性的动作来节省时间,成本,提高效率。在软件的开发过程中,有许多重复性的活动,这些活动包括代码编译,数据库集成,测试,评审,部署,信息反馈等。通过自动化的持续集成,你将获得如下能力:
----任何时候都可以执行一致的流程;
----每个开发过程的步骤都是依次执行的;在构建脚本,将依次执行编译,自动测试等动作。
-----在版本控制库中,当代码提交发生时,构建过程自动执行。
通过减少在重复性工作上的劳动力,让开发工程师做更多有价值的工作。
3 产生可部署的软件
持续集成可以让项目组在任一点上及时提交可以安装的软件包。这是持续集成最可看见的一个益处。我们可以无休止地讨论改善软件质量和减少风险,但是对用户或者客户来说,可以安装的软件包是最切实可行的
4 使得项目更加透明
5 建立项目信心
什么阻止团队使用持续集成?
1 用于维护持续集成的费用比较高
这通常是一个被误导的错误的理解,如论你是否使用持续集成,你依然需要集成,构建,测试,部署等工作。管理一个强壮的持续集成的系统比管理手动的过程更加高效率。
2 太多的变更
一些开发组织需要改变已有的开发习惯和过程。
3 太多失败的构建
当开发人员不做个人构建之后,就将变更的代码提交到版本控制库,从而导致太多的构建失败。
4 额外的软件和硬件成本
持续构建需要独立的集成构建主机和持续集成软件等,这些需要额外的成本。