持续集成介绍


在敏捷开发中,有一个很重要的实践叫做持续集成。而什么是持续集成呢?简单来说,持续集成是频繁、持续的在多个团队成员的工作中进行集成,并且给与反馈。一个典型的持续集成周期包括以下几个步骤:

 

a.       持续集成服务器不断从版本控制服务器上检查代码状态,看代码是否有更新。

b.      如果发现代码有最新的提交,那么就从版本控制服务器下载最新的代码。

c.       等代码完全更新以后,调用自动化编译脚本,进行代码编译。

d.      运行所有的自动化测试。

e.       进行代码分析。

f.        产生可执行的软件,能够提供给测试人员进行测试。

 

对于基于 Java 的项目来说,有几种常见的选择:

1)      Cruise Control 开源、围绕 Ant 构建。常用,但用户常反映其难以配置、需要编写配置文件。Cruise Control 又称为用于 Java 的“原始”CI 工具。

2)      Apache Continuum 开源、用于构建 Java 项目。由于它是 Maven 的官方构建工具,往往对基于 Maven 的项目提供最好的支持和体验。其管理和配置通过一个基于 Web 的界面进行。

3)      JetBrains Team City 一种常用的商业 CI 服务器。Team City 的一个独有的特性是,它具有针对几种 IDE 的相应插件,这些插件使开发人员可以在将其更改提交版本控制系统时进行“预测试”提交使用此功能意味着开发人员不可能“中断程序的构建”。其管理和配置通过一个基于 Web 的界面进行。

4)      Hudson/Jenkins开源、原先只支持 CVS Subversion,但现在具有许多插件可支持其他版本控制系统。其管理和配置通过一个基于 Web 的界面进行。

我们使用的工具为Hudson/Jenkins

猜你喜欢

转载自guanning.iteye.com/blog/2078234