--------------------------------------------------------------------------------------------------------------
官方文档: http://cruisecontrol.sourceforge.net/main/configxml.html
其他参考: http://blog.youkuaiyun.com/tony1130/archive/2008/01/14/2043646.aspx
--------------------------------------------------------------------------------------------------------------
config.xml 的基本内容如下:
<cruisecontrol>
<dashboard />
<project name="demo1">
<!--省略-->
</project>
<project name="demo2">
<!--省略-->
</project>
</cruisecontrol>
<cruisecontrol> 为 root 元素,其子元素 <project> 即为纳入CI的项目的配置段,该元素的约束为 1..* , 且必须有 name 属性。
1. <project> 子元素列表如下:
2. <project> 配置片段如下:
<project name="demo" requiredModifaction="false"> <!--requiredModifaction属性设置为false,表示无论项目代码是否修改都将会进行构建工作,该属性默认为true,表示只有当项目代码改变时才会执行构建-->
<bootstrappers>
<svnbootstrapper LocalWorkingCopy="..." /> <!--表示在启动时进行一次代码检出工作-->
</bootstrappers>
<modificationset> <!--可以配置属性quietperiod,用于监听在quietperiod秒内,Repository是否变化,不配置则为默认值60-->
<!--svn元素表示代码从svn获取,还可以用git、cvs、vss等元素-->
<svn RepositoryLocation="..." /> <!--RepositoryLocation 和 LocalWorkingCopy 属性2选1,前者表示仓库路径,后者表示本地路径-->
</modificationset>
<schedule> <!--可以配置属性interval,用于每隔interval秒,CruiseControl去检查并计划一次构建,不配置则为默认值300-->
<!--maven2元素表示构建代码工具为maven2,还可以用ant、maven等元素-->
<maven2 MvnHome="...\apache-maven-2.0.9" PomFile="...\pom.xml" Goal="package -DskipTests" /> <!--mvnscript 和 MvnHome 属性2选1,前者配置 mvn.bat 或 mvn.sh 的路径,后者配置 maven HOME 路径-->
<!--PomFile、Goal也是必须属性,前者用于指定pom文件路径,后者用于指定构建目标(支持maven的命令行语句)-->
</schedule>
<log> <!--构建的日志文件,默认放在 projects/${project.name} 目录下-->
<merge dir="projects/${project.name}/target/test-results"/> <!--将Build中生成的结果合并-->
</log>
<publishers>
<!--onsuccess用于配置在构建成功的情况下发布哪些内容-->
<onsuccess>
<artifactspublisher dest="artifacts/${project.name}" file="projects/${project.name}/target/${project.name}.jar" />
</onsuccess>
<!--email用于配置将构建结果以邮件形式通知相关人员,还可以用htmlemail,htmlemail配置基本和email一致-->
<email BuildResultsURL="http://localhost:8080/dashboard/tab/build/detail/demo" MailHost="..." ReturnAddress="test@msn.com">
<always address="test@msn.com" /> <!--每次构建后均发邮件至该address-->
</email>
</publishers>
</project>
本文详细介绍了CruiseControl的配置文件config.xml的结构与使用方法,包括项目配置、构建计划、构建工具选择等内容。

145

被折叠的 条评论
为什么被折叠?



