config.xml
config.xml是CruiseControl的核心配置,主要指明需要测试的项目名,项目的执行脚本,监听变更集,执行任务,以及任务完成后的后续操作。
下面是CruiseControl中实例config.xml
<cruisecontrol>
<project name="connectfour">
<listeners>
<currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
</listeners>
<bootstrappers>
<antbootstrapper anthome="apache-ant-1.7.0" buildfile="projects/${project.name}/build.xml" target="clean" />
</bootstrappers>
<modificationset quietperiod="30">
<!-- touch any file in connectfour project to trigger a build -->
<filesystem folder="projects/${project.name}"/>
</modificationset>
<schedule interval="300">
<ant anthome="apache-ant-1.7.0" buildfile="projects/${project.name}/build.xml"/>
</schedule>
<log>
<merge dir="projects/${project.name}/target/test-results"/>
</log>
<publishers>
<onsuccess>
<artifactspublisher dest="artifacts/${project.name}" file="projects/${project.name}/target/${project.name}.jar"/>
</onsuccess>
</publishers>
</project>
</cruisecontrol>
元素解析
- project.name
- CruiseControl内置的一个特殊属性,解析当前服务的项目名
- cruisecontrol
- 根元素
- property
- 键值对,既定义变量
- plugin
- 注册新的插件,以供CruiseControl配置文件使用
- listeners
- 注册多种类型的监听器
- bootstrappers
- 构建工作之前触发,可以从SCM取得最新的版本
- modificationset
- 收集SCM配置库的变更集合信息
- schedule
- 调度构建任务
- log
- 构建日志文件
- publishers
- 反馈构建信息