2010-01-12

CruiseControl—confilg.xml

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
反馈构建信息
blog comments powered by Disqus