持续集成
持续集成( Continuous integration ) 提出 集成 软件 的过程不是新问题,如果项目开发的规模比较小, 比如 一个人的项目,如果它对 外部系统 的依赖很小,那么软件集成不是问题,但是随着软件项目复杂度的增加(即使增加一个人),就会对集成和确保 软件组件 能够在一起工作提出了更多的要求 - 要早集成,常集成。早集成,频繁的集成帮助项目在早期发现项目风险和质量问题,如果到后期才发现这些问题,解决问题代价很大,很有可能导致项目延期或者项目失败。 定义 大师 Martin Fowler 对持续集成是这样定义的 : 持续集成是一种 软件开发实践 ,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布, 自动化测试 ) 来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发 内聚 的 软件 。 价值 减少风险 一天中进行多次的集成,并做了相应的测试,这样有利于检查缺陷,了解 软件 的健康状况,减少假定。 减少重复过程 减少重复的过程可以节省时间、费用和工作量。说起来简单,做起来难。这些浪费时间的重复劳动可能在我们的项目活动的任何一个环节发生,包括代码编译、数据库集成、测试、审查、部署及反馈。通过自动化的持续集成可以将这些重复的动作都变成自动化的