【转】cruisecontrol、ant、svn持续集成
上一篇 / 下一篇 2011-03-05 21:56:46 / 个人分类:持续集成
一 本次持续集成环境的搭建所使用的工具有
%_] q wo E@-X1CaV0cruisecontrol、ant、svn、junit、Slik-Subversion-1.5.6-win32、svnant-1.1.0-RC2.zip
2R8WK0]k6VJ L@6J)t0cruisecontrol:是一种持续集成过程的框架,包括了邮件通知,ant 和各种源码控 制工具的插 件。并提供了web接口,用于查看当前和以前的创建的结果.51Testing软件测试网!y]M9e Y Fxi
ant:构建工具。51Testing软件测试网.k UpI N Y7h1l
svn:版本控制工具。
Z tW0RQZ-?(et0junit:单元测试工具。51Testing软件测试网drK3X6M/@?,i
slik-subversion:是为了调用svn的客户端命令安装的。
F^\:`v WJoM0svnant:主要是用到它里面的lib中的jar包,它具体使用还不是很清楚
#xZ7A%Wb`0另外本次的辅助环境还有jdk,相信大家都再也熟悉不过了。
t8z q%d+X ]}0二 环境的搭建步骤:51Testing软件测试网z6y e/sF-il
jdk的安装:根据jdk安装包的提示安装jdk。设置系统的环境变量: 51Testing软件测试网$R8c"F8M4~&~%Dux@
a) JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径D:\java\jdk1.5.0_08,此路径下包括lib,bin,jre等文件夹(此变量最好设置,因为以后运行tomcat都需要依赖此变量);
b) Path使得系统可以在任何路径下识别java命令,设为%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;51Testing软件测试网 zV*m6KNy~
c)CLASSPATH为java加载类(class or lib)路径,只有类在 classpath中,java命令才能识别,设为:.;JAVA_HOME\lib\dt.jar;JAVA_HOME% \lib\tools.jar (要加.表示当前路径);%JAVA_HOME%就是引用前面指定的JAVA_HOME;不过本人还是比较相信绝对路径的。51Testing软件测试网}x `PJ.d
2 ant的安装:ant是集成构建工具,想必大家都不太陌生了。只需要到ant.apache.org的网站下载ant的适当版本解压缩后,配置系统的环境变量:ANT_HOME:d:\apache-ant-1.7.0, path:d:\apache-ant-1.7.0\bin 后,ant就可以在任意目录下运行了,如cmd下运行ant,显示:buildfile:build.xml does not exsit。。。。。51Testing软件测试网Oc3\~;c Rc
3 安装svn,因为cruisecontrol要用到svn(不知道这两个有什么先后顺序没,因为cc要用svn就先装cc喽)。svn的安装TortoiseSVN-1.5.3.13783-win32-svn-1.5.2.msi安装提示装就可以了。51Testing软件测试网1q:Vj5K _z P
4 安装tomcat ,设置系统环境变量CATALINA_HOME=c:\tomcat,CLASSPATH=C:\tomcat\common\lib(加载必要的包)。51Testing软件测试网YhVv5pq ]ep
5 cuisecontrol的安装,因为本文使用的操作系统为XP,就使用CruiseControl-2.8.2.exe安装就可以了(.exe文件还是很受大家喜欢的)。配置系统的环境变量:CC_HOME=d:\cruisecontrol51Testing软件测试网 K1u,r8m%E^H
6 安装slik-subversion,它会自动写入到path=D:\SlikSvn\bin\ 如果没有写入的话,要麻烦手动加入到系统的环境变量path中,本人曾经遇到过,cmd窗口已经打开但是配置文件执行过程中svn的命令总不能识别发现此处的路径没有加入到path中。
8^OHV5C P D-T:L07下载svnant-1.1.0-RC2.zip,把lib包中的jar考到ant的jar中。51Testing软件测试网 f7ExO3V!U5N
三 以上的准备工作已经基本搞定,下面就介绍一下配置文件。此次环境的搭建配置文件是很关键的,因为他们各自有自己的标签,所以还要想达到什么功能慢慢查找,(如果有时间系统学习一下就好了)。
D3p k/Mt5eCh01 ant的关键文件为build.xml(当然也可以起别的名称,自己还要改它的启动文件,就用这个名称吧)下面是一个实例:51Testing软件测试网u$e-q6R1gF9QT
<?xml version="1.0" encoding="UTF-8" standalone="no"?>51Testing软件测试网aX&t*Ybhnwl
定义basedir当前的根目录,default默认执行的标签,name工程名
U#zjqha0<project basedir="." default="all" name="framework">51Testing软件测试网5N?.o;rB#k
<property environment="env" />51Testing软件测试网(C$M dn7a1Ol
定义tomcat的安装目录
q%O^T1zt
~5fsG0 <property name="TOMCAT_DIR" location="D:/Tomcat 5.5" />
定义debug的级别51Testing软件测试网o*b!NB*@ Ez!l
<property name="debuglevel" alue="source,lines,vars" />
为了引用tomcat固有包方便所以增加次属性
P%KjF2r'`V0 <property name="coolink.dist.path" location="D:/Tomcat 5.5/webapps/txsd/WEB-INF" />
指定要编译的工程目录51Testing软件测试网Y2I
y2E&TTmS,_J&K
<property name="CLASS_DIR" location="D:/CruiseControl/projects/framework" />51Testing软件测试网;ya/Zvk^
@
<property name="target" value="1.5" />51Testing软件测试网2Q8F|8jA:W
<property name="source" value="1.5" />
编译时候所使用的类路径,id为引用的名称51Testing软件测试网iG1UEKrhy*C:wS(?
<path id="Apache Tomcat v5.5 [Apache Tomcat v5.5].libraryclasspath">
&f&?Y unE8Z0 <pathelement location="${TOMCAT_DIR}/common/lib/commons-el.jar" />51Testing软件测试网aE+yAd7S$q`2fY
....
g&FH!FAJ0 <pathelement location="${TOMCAT_DIR}/common/lib/servlet-api.jar" />
;fM*v0K p@Y!q0 </path>
1TN+huF;RXgx
n0 <path id="Web App Libraries.libraryclasspath">51Testing软件测试网~T
[
Ds d gpj
<pathelement location="${coolink.dist.path}/lib/activation.jar" />51Testing软件测试网?,U$^)AG-R$z*B
.............51Testing软件测试网xL:s2js8`
<pathelement location="${coolink.dist.path}/lib/xmlParserAPIs.jar" />
k$p
E*p1hJ
y n0 </path>51Testing软件测试网u i?.b-n
<path id="ant.svn.classpath">51Testing软件测试网:m
KS,aqWM
<fileset dir="D:/CruiseControl/apache-ant-1.7.0/lib">51Testing软件测试网'ZHx:M8y9Z
<include name="*.jar" />
r
}(U
d!THdc0 </fileset>51Testing软件测试网3Q%P y s&wk5H;M*} U
</path>51Testing软件测试网Eg6`"DtL
<taskdef name="svn" classname="org.tigris.subversion.svnant.SvnTask">51Testing软件测试网f:_
W\GF
<classpath refid="ant.svn.classpath" />51Testing软件测试网+K ~H4L_%x wg3v-Q%}v*R8j
</taskdef>51Testing软件测试网^0g5te A+]
<path id="txsd.classpath">
~a
v7or!~k'k8_P0 <path refid="Apache Tomcat v5.5 [Apache Tomcat v5.5].libraryclasspath" />
?} o1_
?b8h0F0 <path refid="Web App Libraries.libraryclasspath" />51Testing软件测试网w ? E3@aR
</path>51Testing软件测试网D9P
q,py.},A
clean操作,如果build之前不执行此操作,build检查到原有的class文件就不再编译。51Testing软件测试网.v&|&|7@
z
<target name="clean">