CruiseControl使用笔记——04.config.xml
--------------------------------------------------------------------------
官方文档: http://cruisecontrol.sourceforge.net/main/configxml.html
其他参考: http://blog.csdn.net/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> 子元素列表如下:
元素约束说明<listeners> 0 .. 1监听项目状态的变化,如building、passed等<bootstrappers>0 .. 1配置服务启动时该项目执行的操作<modificationset>1配置检查代码是否修改的目录<schedule>1配置构建计划任务<log>0 .. 1配置构建日志<publishers>0 .. 1配置发布相关信息<plugin>0 ..?*配置其他插件?
?
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>
??