用友集团持续集成解决方案1
持续集成介绍1
1 概念 “持续集成”一词来源于极限编程 Extreme Programming 作为它的 12 个实践之一出现
ThoughtWorks 首席科学家、软件开发领域大师 Martin Fowler 对持续集成是这样定义的:持续集成是一种软件开发实践,即团队开发成员常常集成它们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成
每次集成都通过自动化的构建(包括编译发布,自动化测试)来验证,从而尽快地发现集成错误
许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件
持续集成框架是由代码提交、定时或手动来触发的(本地级别的持续集成可以由开发每次代码提交触发,而项目和产品级别的持续集成可以由定时或手动来触发),每次提交到版本控制服务器上的代码都要经过自动化构建,确保每次的代码变更都不会导致持续集成失败
2 目的和价值持续集成的目的不是减少 Build 失败的次数,而是尽早发现问题,在最短的时间内解决问题,减少风险和浪费
从而让产品开发流程更敏捷,缩短产品开发周期,在产品上线之后让用户用得更加顺畅
目前我们很多团队传统的开发模式是项目一开始就划分模块,每个开发人员分别负责一个模块,等所有的代码都开发完成之后再集成到一起提交给测试人员进行测试
而很多bug 在项目早期的设计、编码阶段就引入,到最后集成测试的时候才发现问题,开发人员需要花费大量的时间来寻找 bug 的根源,加上软件的复杂性,问题的根源很难定位,甚至出现不得不调整需求设计的情况
这种情况发生不仅对测试进度造成影响,也会拖长整个项目周期
持续集成可以有效解决软件开发过程中的许多问题,在集成测试阶段之前就帮助开发人员发现问题从而可以有效确保软件质量,减小项目的风险,使软件开发团队从容面对各种变化
总结持续集成的价值有:1、易于