十五年测试老手,长期负责WEB\APP 项目测试,目前主要负责团队管理工作。

【转】使用CruiseControl搭建自己的持续集成环境

上一篇 / 下一篇  2011-03-27 18:56:40 / 个人分类:持续集成

W%GDK0@z3i&a0敏捷开发过程中我们会实施很多优秀实践,比如站立式会议、结对编程、持续集成等等。本文主要讲解如何运用CruiseControl搭建你的持续集成环境。51Testing软件测试网}3Ib"g pe^

51Testing软件测试网9@nC)W b)B+d

一:CruiseControl介绍51Testing软件测试网5C"c2N-S9G

51Testing软件测试网"s8P e(F%Lu

CruiseControl(有时我们简称CC)是使用java语言编写的一个持续集成工具,他有着良好的框架,所以你可以在他基础上二次开发成我们自己定制的持续集成工具。CruiseControl集成了很多第插件,比如:源码控制、邮件通知、实时消息通知等等。而且他提供了一个web界面使我们更加方便的查看构建项目的当前以及历史状态。虽然CruiseControl使用java语言编写,但他并不限制你只能构建JAVA项目,你可以通过ant等脚本构建各种语言的持续集成环境。51Testing软件测试网Z@4B+f`Oi/e

mP(m(UPp0U0工具的整体架构如下图:51Testing软件测试网){1f] TAOf e5K

;| ffH(Xs051Testing软件测试网[3Su(S}1z*v

1~ B+g wJL@051Testing软件测试网'N$W[!mh"g1f

51Testing软件测试网~9w$A6dQrbg8E

从上图可以看出,CC主要包括了三个组件:

+tz JM+of#o h051Testing软件测试网\r M4^'T4O%u B,n|.d

A、Build Loop组件:主要负责根据外部的xml配置,定时、周期性的根据外部SCM的状态启动构建任务,并将构建结果通过Email/IM/RSS等方式通知到相应的客户端。

C\1f+xPn#b051Testing软件测试网 VQ|O:F#O

B、JSP的报告组件:提供了一个web页面供我们查看构建结果以及每次构建发布的工件。51Testing软件测试网/z6LgrnlVR5m

51Testing软件测试网~/H;L;\RCNh~a?o

C、Dashboard组件:提供了一个可视化的界面,让我们可以清楚的看到各个项目的构建状态 。51Testing软件测试网d$R ?D"V*q#W

fI(F#S3kQm$[K0工具的官方网站:http://cruisecontrol.sourceforge.net/

v2jN#iM [2`5W051Testing软件测试网NUR g,}

51Testing软件测试网$p(uW,WE

3X4b6v$Iw]$e|5W.v0二:CruiseControl持续集成环境的配置安装

+m Q Owh8d0

X.WDH vF7Z0第一步:51Testing软件测试网{;PP\,eo E

$?)A X$]i0A、从上面的官方网站下载最新的稳定版本,当前最新的稳定版本为2.8.251Testing软件测试网oz G)ut\d

51Testing软件测试网AIW/S:CS

B、下载JAVA安装包51Testing软件测试网Y(T8O _z4Us

7nA%@zQfr~o0第二步:解压下载的工具包(由于CC是绿色版的,所以解压即可不需安装),并在你的环境变量中增加两个环境变量51Testing软件测试网n K.`m!uYA.q1q

SL,}*q{:m0@k0A、JAVA_HOME设置为你的JAVA安装目录

m x'{0l)g*u$s051Testing软件测试网XXR Z Y2g4W

B、设置ANT_HOME为CC解压目录下的apache-ant-1.7.0目录,并且将“你的下载目录\cruisecontrol-bin-2.8.2\apache-ant-1.7.0\bin”加入你的path路径中

b5Z#st)H#u'Sk0

)BQ(tI{7aP0(这样我们就可以在命令行直接调试ant脚本)51Testing软件测试网7hYy;{0h

51Testing软件测试网*usH?!I"m~

第三步:直接运行CC解压目录下的cruisecontrol.bat即可51Testing软件测试网_+D!{ XN|

51Testing软件测试网JJhYG#[x

第四步:在你的浏览器地址栏输入:http://localhost:8080/dashboard/tab/dashboard ,如果出现下面的界面表示安装成功

Doc'?BS#Lds R0

;Q[RX/T ZY0

W,n)yN6Vn$M u;G051Testing软件测试网,FW*FDNNy

第三:如何搭建自己的构建项目51Testing软件测试网Px2F-Ip6f8P

\ it S$K3be0第一步:熟悉CC的目录结构

V9?nb;o9U0

5yxtSmIQ0

X$LSr4R0

;]CaM$j*S0在上面粉红色的方框中,我们大部分时间只需要配置一下文件即可:51Testing软件测试网m} ~`^ zi5Pyo

1?6?;I7_*zN:G01、confile.xml文件 -------所有项目的信息配置,包含了你的SCM以及发布信息等等

w!z| z T#J051Testing软件测试网nj }[D9n

2、cruisecontrol.bat -------启动CC工具51Testing软件测试网T6Kf gAo

6W&`4PJ/t03、apache-ant-1.7.0文件夹 -----这里存放了ant工具所有内容,包括lib

6[9q4U1G'Q+a2N_0

0_$G$z-o.a`4K'J O P04、artifacts文件夹 -----存放了每次构建发布的工件,以项目进行区分51Testing软件测试网$B| Rm8ZV|

51Testing软件测试网K] {+qZ o

5、etc文件夹 -----存放了工具的配置,包括jetty容器、数据库连接配置等51Testing软件测试网M0{*W7B/q E'hR

51Testing软件测试网IbI:b W-Oec

6、lib文件夹 -----存放了所有CC依赖的lib库

~+Pa%EUdn9P051Testing软件测试网0}1w A? ]@ c!^c

7、log文件夹 -----存放了所有日志信息51Testing软件测试网.n0MSm~T"z8Qeid,e qY

51Testing软件测试网&@m!ZR!DfX\

8、projects文件夹 ------存放了你的构建项目的描述信息,构建自己的项目需要在这里面配置

d,z[ zYp C&U051Testing软件测试网%O$ztzgTq

9、webapps文件夹 ------存放了CC的WEB部署,如果你想定制自己的界面,就需要在这里配置,如上图的TestAnalusis的Tab就是我定制的一个页面

4W3l!_H1hYqS@L)[9s'_0

1DpfGx7`:b0第二步:熟悉总的项目文件的配置config.xml51Testing软件测试网&PCG#ow

#o J)wZ7pv0第三步:熟悉每个项目的Build.xml的编译控制

w7Sd2U@J c1c#_051Testing软件测试网e5v)b R4uj8A'J

上面的第二步和第三步可以参加它的带有的帮助文件和工程实例connectfour,因为这里面的配置项,所以这里就不一一列举讲解。如果大家有什么疑问可以给我留言我们一起讨论。

O7\+E&v$f#E EW0

TAG: 持续集成 CruiseControl

 

评分:0

我来说两句

Open Toolbar