2012-03-09 51 views
1

也许我只是没有看到它,但我想要一种方式来为一组预定义的构建项目“注入”分支的值(外部莫名其妙)。CruiseControl.net sourcecontrol分支的dynamicValue

我们已经为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" /> 

回答

0

就生成一个文件(injectpath.config)与定义的值:

<cb:define branchpath="yourpath"/> 

...然后包含到顶部上面显示你的配置文件。

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