当前位置: 代码迷 >> 综合 >> [敏捷开发实践] Jenkins与持续集成(Continuous Integration)之概述
  详细解决方案

[敏捷开发实践] Jenkins与持续集成(Continuous Integration)之概述

热度:70   发布时间:2024-01-15 19:05:07.0

Jenkins与持续集成(Continuous Integration)之概述

1. 持续集成(CI,Continuous Integration)的定义

大师Martin Fowler对持续集成是这样定义的:持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。

总结一下,持续集成就是:指开发阶段,对项目进行持续性自动化编译、测试,以达到控制代码质量的手段。持续集成是一种软件开发实践。持续集成的宗旨是避免集成问题。

在敏捷开发方法中,无论是XP或者Scrum方法,持续集成需要达到最佳成果,必须依靠着自动化集成单元测试并通过测试驱动开发(TDD)。 

2. 为什么需要持续集成

持续集成对单元测试较为依赖,测试覆盖率越高,单元测试越准确,越能体现持续集成的效果。

持续集成主要在以下方面提供好处:

  • 持续自动化测试(持续集成可通过时间间隔触发,或其他方式触发)
  • 跟踪工程健康状况
  • 强制性单元测试用例,验收测试用例等
  • 静态代码检测,生成测试报告

3. 持续集成的价值

持续集成的价值体现在:

  • 减少项目风险
  • 减少开发中的重复过程
  • 任何时间任何地点生成可部署的软件
  • 增加项目的可见性
  • 建立团
  相关解决方案