CruiseControl.net dynamicValue用于sourcecontrol分支

时间:2012-03-09 17:09:22

标签: dynamic branch cruisecontrol.net cvs

也许我只是没有看到它,但我想要为一组预定义的构建项目“注入”分支(外部某种方式)的值。

我们为Project1,Project2和Project3配置了构建版本。但在任何时候,项目可能会根据合并计划从不同的分支中获取。我想将Project =>分支映射存储在外部文件或数据库中,然后在我们执行ForceBuild时将其动态注入配置文件。

以下块用于所有3个项目配置文件,这些文件在cnet.config文件的底部(末尾)引用。

<cb:define name="cvs-block">
    <sourcecontrol type="cvs">
        <cvsroot>:sspi;username=johnDoe;password=passTheSalt;hostname=127.0.0.1;port=1776:/$(repository)</cvsroot>
        <module>"$(module)"</module>
        <executable>c:\Program Files (x86)\cvsnt\cvs.exe</executable>
        <workingDirectory>D:\CruiseBuild\$(workingDir)</workingDirectory>
        <branch>[SOME EXTERNALLY DYNAMIC VALUE]</branch>
        <autoGetSource>true</autoGetSource>
        <timeout units="minutes">20</timeout>
    </sourcecontrol>
</cb:define>


<cb:include href="D:\CruiseBuild\ACME-project1.xml" xmlns:cb="urn:ccnet.config.builder" />
<cb:include href="D:\CruiseBuild\ACME-project2.xml" xmlns:cb="urn:ccnet.config.builder" />
<cb:include href="D:\CruiseBuild\ACME-project3.xml" xmlns:cb="urn:ccnet.config.builder" />

1 个答案:

答案 0 :(得分:0)

只需使用定义的值生成文件(injectpath.config):

<cb:define branchpath="yourpath"/>

...然后将其包含在上面显示的配置文件中。

将您的[SOME DYNAMIC VALUE]更改为$(branchpath)