CruiseControl 配置
上一篇 / 下一篇 2010-05-25 12:00:17 / 个人分类:CruiseControl
CruiseControl 的概念和好处,我就不在复诉,下面是我的配置环境与配置文件。
配置环境:
CruiseControl : cruisecontrol-bin-2.7.zip
Apache-Ant : 1.7.0
Junit : 4.0
JRE : 5.0_12
Eclipse :
在此环境中,要保持Ant与Junit的版本协调,最初使用Cruisecontrol-2.7随包发布的apache-ant-1.6.5进行单元测试时,会报 No tests found in .... ,Ant1.7是支持JUnit4的,所以将Ant升级为1.7.0的版本,问题解决。
1、设置环境变量
由于使用ZIP的版本,所以需要设置 JAVA_HOME 的路径。注意由ANT的版本已升级为1.7.0,所以在config.xm中应该指定ant_home的路径。
2、CruiseControl 的config.xml
1<?xml version='1.0' encoding='gb2312'?>
2<cruisecontrol>
3 <project name="projectName">
4
5 <!-- 用于处理一些项目有关的事件 -->
6 <listeners>
7 <!-- 用来访问项目当前创建的状态 file: 指定了状态文件的位置 -->
8 <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
9 </listeners>
10
11 <!-- 在 CC 进行创建之前运行,是创建前的准备工作 -->
12 <bootstrappers>
13 <!-- 从源码控制系统更新本地文件: cvsbootstrappers、vssbootstrappers、svnbootstrapper -->
14 <svnbootstrapper localWorkingCopy="projects/${project.name}" />
15 </bootstrappers>
16
17 <!-- 检查各个源码控制系统中是否发生变化;quietperiod: 单位为秒 设定等待的时间 -->
18 <!-- 第一次的取出工作为手动执行 -->
19 <modificationset quietperiod="600">
20 <svn localWorkingCopy="projects/${project.name}"/>
21 </modificationset>
22
23 <!-- 指定了构建的时间间隔 单位为秒-->
24 <schedule interval="60">
25 <ant anthome="apache-ant-1.7.0" buildfile="projects/${project.name}/build.xml"/>
26 </schedule>
27
28 <!-- 指定项目日志保存的地点 -->
29 <log>
30 <!-- 通常是指定 CC 的合并日志的目录 -->
31 <merge dir="projects/${project.name}/test-reports"/>
32 </log>
33
34 <!-- 在 build loop 结束之后运行,发布 build 的结果 -->
35 <publishers>
36 <!--onsuccess-->
37 <!--用于对创建过程中产生的人工制品进行发布-->
38 <!--artifactspublisher dest="artifacts/${project.name}" file="projects/${project.name}/target/${project.name}.jar"/>
39 </onsuccess-->
40
41 <!--
42 mailhost=邮件主机
43 returnname=发件人
44 returnaddress=发件地址
defaultsuffix=默认邮件后缀
45 -->
46 <htmlemail
47 charset="UTF-8"
48 mailhost="smtp.163.com"
49 defaultsuffix="@xxx.com"
50 username="xxx@163.com"
51 password="xxx"
52 returnname="CruiseControl"
53 returnaddress="xxx@163.com"
54 subjectprefix="构建日志"
55 xsldir="webapps/cruisecontrol/xsl"
56 css="webapps/cruisecontrol/css/cruisecontrol.css">
57 <always address="xxx@xxx.com.cn"/>
58 <failure address="xxx@xxx,yyy@yyy.com.cn"/>
59
60 </htmlemail>
61
62 </publishers>
63
64 </project>
65</cruisecontrol>
2<cruisecontrol>
3 <project name="projectName">
4
5 <!-- 用于处理一些项目有关的事件 -->
6 <listeners>
7 <!-- 用来访问项目当前创建的状态 file: 指定了状态文件的位置 -->
8 <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
9 </listeners>
10
11 <!-- 在 CC 进行创建之前运行,是创建前的准备工作 -->
12 <bootstrappers>
13 <!-- 从源码控制系统更新本地文件: cvsbootstrappers、vssbootstrappers、svnbootstrapper -->
14 <svnbootstrapper localWorkingCopy="projects/${project.name}" />
15 </bootstrappers>
16
17 <!-- 检查各个源码控制系统中是否发生变化;quietperiod: 单位为秒 设定等待的时间 -->
18 <!-- 第一次的取出工作为手动执行 -->
19 <modificationset quietperiod="600">
20 <svn localWorkingCopy="projects/${project.name}"/>
21 </modificationset>
22
23 <!-- 指定了构建的时间间隔 单位为秒-->
24 <schedule interval="60">
25 <ant anthome="apache-ant-1.7.0" buildfile="projects/${project.name}/build.xml"/>
26 </schedule>
27
28 <!-- 指定项目日志保存的地点 -->
29 <log>
30 <!-- 通常是指定 CC 的合并日志的目录 -->
31 <merge dir="projects/${project.name}/test-reports"/>
32 </log>
33
34 <!-- 在 build loop 结束之后运行,发布 build 的结果 -->
35 <publishers>
36 <!--onsuccess-->
37 <!--用于对创建过程中产生的人工制品进行发布-->
38 <!--artifactspublisher dest="artifacts/${project.name}" file="projects/${project.name}/target/${project.name}.jar"/>
39 </onsuccess-->
40
41 <!--
42 mailhost=邮件主机
43 returnname=发件人
44 returnaddress=发件地址
defaultsuffix=默认邮件后缀
45 -->
46 <htmlemail
47 charset="UTF-8"
48 mailhost="smtp.163.com"
49 defaultsuffix="@xxx.com"
50 username="xxx@163.com"
51 password="xxx"
52 returnname="CruiseControl"
53 returnaddress="xxx@163.com"
54 subjectprefix="构建日志"
55 xsldir="webapps/cruisecontrol/xsl"
56 css="webapps/cruisecontrol/css/cruisecontrol.css">
57 <always address="xxx@xxx.com.cn"/>
58 <failure address="xxx@xxx,yyy@yyy.com.cn"/>
59
60 </htmlemail>
61
62 </publishers>
63
64 </project>
65</cruisecontrol>
2、build.xml的特性文件
1
2projcet.path=xxx
3
4projcet.name=xxx
5
6catalina.home=xxx
7
8catalina.port=xxx
9
10catalina.username=xxx
11
12catalina.password=xxx
2projcet.path=xxx
3
4projcet.name=xxx
5
6catalina.home=xxx
7
8catalina.port=xxx
9
10catalina.username=xxx
11
12catalina.password=xxx
3、工程的build.xml
1<?xml version="1.0" encoding="UTF-8" ?>
2
3<!-- Continuous Integration 工程名称 Gms 默认任务 CI -->
4<project default="CI" name="xxx" basedir=".">
5
6
7 <!-- 特性文件 在特性文件中 注意路径的正反斜杠问题 -->
8 <property file="build.properties"/>
9
10 <!-- ================================ 工程参数 ================================ -->
11
12 <!-- 工程中文名称 -->
13 <property name="projectName_CN" value="xxx"/>
14 <!-- 工程目录 -->
15 <property name="projectFolder" value="${projcet.path}/${projcet.name}"/>
16
17 <!-- 源程序目录 -->
18 <property name="sourceFolder" value="${projectFolder}/src/main/java"/>
19 <!-- 配置文件目录 -->
20 <property name="configFolder" value="${projectFolder}/src/main/config"/>
21 <!-- 测试程序目录 -->
22 <property name="testFolder" value="${projectFolder}/src/test/java"/>
23 <!-- lib目录 -->
24 <property name="libFolder" value="${projectFolder}/WebRoot/WEB-INF/lib"/>
25 <!-- 编译程序目录 -->
26 <property name="classFolder" value="${projectFolder}/WebRoot/WEB-INF/classes"/>
27
28 <!-- 单元测试报告目录 -->
29 <property name="reportFolder" value="${projectFolder}/test-reports"/>
30 <!-- 单元测试报告文件名 -->
31 <property name="reportFileName" value="junit-noframes.html"/>
32
33 <!-- ================================ 发布设置 ================================ -->
34
35 <!-- 生成war文件 -->
36 <property name="warFile" value="${projectFolder}/${projcet.name}.war"/>
37 <!-- web.xml文件 -->
38 <property name="webFile" value="${projectFolder}/WebRoot/WEB-INF/web.xml"/>
39 <!-- 生成war文件的基础路径 -->
40 <property name="warSource" value="${projectFolder}/target/classes"/>
41
42 <!-- ================================ 路径设置 ================================ -->
43
44 <!-- 编译过程中用到的路径 -->
45 <path id="compilePath">
46 <!-- 编译程序目录 -->
47 <pathelement path="${classFolder}" />
48 <!-- 编译时lib路径 -->
49 <path refid="libPath" />
50 </path>
51
52 <!-- 单元测试时用到的路径 -->
53 <path id="jUnitPath">
54 <!-- 编译程序目录 -->
55 <pathelement path="${classFolder}" />
56 <!-- 编译时lib路径 -->
57 <path refid="libPath" />
58 </path>
59
60 <!-- 编译时lib路径 -->
61 <path id="libPath">
62 <!-- lib目录 -->
63 <fileset dir="${libFolder}">
64 <include name="**/*.jar" />
65 </fileset>
66 </path>
67
68 <!-- ================================ 持续集成 ================================ -->
69
70 <!-- 集成流程 暂时没有加入 Test -->
71 <target name="CI" depends="init,compile,test,makewar,deploy-catalina" description="持续集成"/>
72
73 <!-- 1.初始化目标目录, class ; report -->
74 <target name="init" description="初始化">
75
76 <echo>正在删除编译程序目录</echo>
77 <delete dir="${classFolder}" />
78 <echo>正在创建编译程序目录</echo>
79 <mkdir dir="${classFolder}" />
80
81 <echo>正在删除单元测试报告目录</echo>
82 <delete dir="${reportFolder}" />
83 <echo>正在创建单元测试报告目录</echo>
84 <mkdir dir="${reportFolder}" />
85 </target>
86
87 <!-- 2.编译程序生成目标类 -->
88 <target name="compile" depends="init" description="编译">
89 <echo>编译源程序</echo>
90 <!-- classpathref="编译路径" destdir="${编译程序目录}" -->
91 <javac classpathref="compilePath" fork="true" memorymaximumsize="128m"
92 destdir="${classFolder}" debug="true" deprecation="false"
93 failonerror="false" verbose
2
3<!-- Continuous Integration 工程名称 Gms 默认任务 CI -->
4<project default="CI" name="xxx" basedir=".">
5
6
7 <!-- 特性文件 在特性文件中 注意路径的正反斜杠问题 -->
8 <property file="build.properties"/>
9
10 <!-- ================================ 工程参数 ================================ -->
11
12 <!-- 工程中文名称 -->
13 <property name="projectName_CN" value="xxx"/>
14 <!-- 工程目录 -->
15 <property name="projectFolder" value="${projcet.path}/${projcet.name}"/>
16
17 <!-- 源程序目录 -->
18 <property name="sourceFolder" value="${projectFolder}/src/main/java"/>
19 <!-- 配置文件目录 -->
20 <property name="configFolder" value="${projectFolder}/src/main/config"/>
21 <!-- 测试程序目录 -->
22 <property name="testFolder" value="${projectFolder}/src/test/java"/>
23 <!-- lib目录 -->
24 <property name="libFolder" value="${projectFolder}/WebRoot/WEB-INF/lib"/>
25 <!-- 编译程序目录 -->
26 <property name="classFolder" value="${projectFolder}/WebRoot/WEB-INF/classes"/>
27
28 <!-- 单元测试报告目录 -->
29 <property name="reportFolder" value="${projectFolder}/test-reports"/>
30 <!-- 单元测试报告文件名 -->
31 <property name="reportFileName" value="junit-noframes.html"/>
32
33 <!-- ================================ 发布设置 ================================ -->
34
35 <!-- 生成war文件 -->
36 <property name="warFile" value="${projectFolder}/${projcet.name}.war"/>
37 <!-- web.xml文件 -->
38 <property name="webFile" value="${projectFolder}/WebRoot/WEB-INF/web.xml"/>
39 <!-- 生成war文件的基础路径 -->
40 <property name="warSource" value="${projectFolder}/target/classes"/>
41
42 <!-- ================================ 路径设置 ================================ -->
43
44 <!-- 编译过程中用到的路径 -->
45 <path id="compilePath">
46 <!-- 编译程序目录 -->
47 <pathelement path="${classFolder}" />
48 <!-- 编译时lib路径 -->
49 <path refid="libPath" />
50 </path>
51
52 <!-- 单元测试时用到的路径 -->
53 <path id="jUnitPath">
54 <!-- 编译程序目录 -->
55 <pathelement path="${classFolder}" />
56 <!-- 编译时lib路径 -->
57 <path refid="libPath" />
58 </path>
59
60 <!-- 编译时lib路径 -->
61 <path id="libPath">
62 <!-- lib目录 -->
63 <fileset dir="${libFolder}">
64 <include name="**/*.jar" />
65 </fileset>
66 </path>
67
68 <!-- ================================ 持续集成 ================================ -->
69
70 <!-- 集成流程 暂时没有加入 Test -->
71 <target name="CI" depends="init,compile,test,makewar,deploy-catalina" description="持续集成"/>
72
73 <!-- 1.初始化目标目录, class ; report -->
74 <target name="init" description="初始化">
75
76 <echo>正在删除编译程序目录</echo>
77 <delete dir="${classFolder}" />
78 <echo>正在创建编译程序目录</echo>
79 <mkdir dir="${classFolder}" />
80
81 <echo>正在删除单元测试报告目录</echo>
82 <delete dir="${reportFolder}" />
83 <echo>正在创建单元测试报告目录</echo>
84 <mkdir dir="${reportFolder}" />
85 </target>
86
87 <!-- 2.编译程序生成目标类 -->
88 <target name="compile" depends="init" description="编译">
89 <echo>编译源程序</echo>
90 <!-- classpathref="编译路径" destdir="${编译程序目录}" -->
91 <javac classpathref="compilePath" fork="true" memorymaximumsize="128m"
92 destdir="${classFolder}" debug="true" deprecation="false"
93 failonerror="false" verbose
TAG:
标题搜索
日历
|
|||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
1 | 2 | 3 | 4 | ||||||
5 | 6 | 7 | 8 | 9 | 10 | 11 | |||
12 | 13 | 14 | 15 | 16 | 17 | 18 | |||
19 | 20 | 21 | 22 | 23 | 24 | 25 | |||
26 | 27 | 28 | 29 | 30 | 31 |
我的存档
数据统计
- 访问量: 57229
- 日志数: 55
- 建立时间: 2009-02-11
- 更新时间: 2010-12-01