「Continuous

  • 时间:
  • 浏览:0

前言  

那此是持续集成,为那此要持续集成?本文对持续集成前后一种开发实践做了对比分析,从而直观的感受到持续集成的好处。

在说持续集成原本,先说一下传统的开发模式:

传统模式:

传统模式过程如下:

传统的开发模式趋于稳定的问題:

1.Bug无缘无故在最后才无缘无故出显。

2.越到项目后期,问題越难出理 。

3.软件交付时机无法保障。

4.系统进程无缘无故须要变更。

一些项目中,系统进程会无缘无故须要变更,一阵一阵是敏捷开发实践者。

5.无效的等待时间变多。

开发等待时间时间集成我各自 的模块,测试人员等待时间时间开发修复Bug,产品经理等待时间时间新版本上线给客户做演示,项目经理等待时间时间我各自 提交代码。

6.用户的满足度低。

持续集成

那此是持续集成? 

在软件工程中,持续集成(CI)是指将所有开发者的工作副本每天多次合并到主干的做法。Grady Booch 在1991年的 Booch method 中首次命名并提出了 CI 的概念,尽管在当时他并非主张每天多次集成。而 XP(Extreme programming,极限编程)采用了 CI 的概念,并提倡每天不止一次集成。

持续集成服务器:

持续集成服务器什么都 也能采用自动化的手段,来解放人的双手,实现项目持续集成的工具。与之配套的软件有TeamCity、Jenkins、Go等。

持续集成的工作模式:

 

持续集成的好处:

1.解放了重复性劳动。

自动化部署工作须要解放集成、测试、部署等重复性劳动,而机器集成的频率明显比手工高什么都有。

2.放慢地修复问題。

持续集成更早的获取变更,更早的进入测试,更早的发现问題,出理 问題的成本显著下降。

3.放慢的交付成果。

更早发现错误减少出理 错误所需的工作量。集成服务器在构建环节发现错误须要及时通知开发人员修复。集成服务器在部署环节发现错误须要回退到上一版本,服务器始终有另有另一个可用的版本。

4.减少手工的错误。

在重复性动作上,人容易犯错,而机器犯错的几率几乎为零。

5.减少了等待时间时间。

缩短了从开发、集成、测试、部署各个环节的时间,从而也就缩短了顶端须要无缘无故出显的等待时间时机。持续集成,因为 开发、集成、测试、部署也得以持续。

6.更高的产品质量。

集成服务器往往提供代码质量检测等功能,对不规范或有错误的地方会进行标致,也须要设置邮件和短信等进行警告。

持续集成的最佳实践:1.频繁检出代码。



有原本代码冲突无可出理 ,频繁检出代码,须要让本地的副本和代码库中的版本最小差异化。



2.频繁提交代码。

与1的原理这类 ,频繁提交代码,须要让我各自 检出副本和代码库中的版本最小差异化。



3.减少分支,回归主干。

多个分支并行应及早将变更集成到主干中,出理 同時 维护软件的多个版本。



4.使用自动化构建。

须要使用Maven、Ant等来实现自动化构建,须要在构建过程中实现自动化测试。前提是有写单元测试用例。



5.提交测试。

在提交工作原本,每个系统进程员须要本地集成所有代码,做另有另一个完整性的构建和运行,并通过所有的单元测试,原本能减少集成测试在集成服务器上构建失败的风险。



6.当前请况对每我各自 都可见。

集成服务器在持续集成过程中发现问題应及时发送警告给相关的干系人。