CruiseControl.NET中的Subversion块 - 传递特定的修订号?

时间:2009-10-22 15:55:58

标签: svn cruisecontrol.net revision

我希望能够将特定修订传递给SVN任务(在ccnet.config中),我希望buildserver从SVN签出并构建。所以我并不总是想要最新版本。不,我不想为每个成功的构建创建一个标记。

查看此处的配置元素:http://ccnet.sourceforge.net/CCNET/Subversion%20Source%20Control%20Block.html

我看不到任何允许我这样做的事情。我们的想法是能够传递一个可选参数(使用1.5中的动态属性),然后将其传递给SVN任务。这是否可以通过当前的CCNET SVN插件实现?我错过了一些明显的东西吗?

2 个答案:

答案 0 :(得分:8)

可以通过这种方式直接使用CCNET脚本轻松实现:

<project name="whatever">
    <parameters>
        <textParameter name="VersionToBuild">
            <display>SVN Version to Build</display>
            <description>Which SVN version to Build?</description>
            <default>HEAD</default>           
            <required>true</required>
        </textParameter>
    </parameters>

    <sourcecontrol type="svn">
        <trunkUrl>http://svnrepo.mydomain.com:80/svn/myProject/trunk@$[VersionToBuild]</trunkUrl>
        <workingDirectory>c:\Checkout\myProjectTrunk</workingDirectory>
        <executable>c:\Subversion\bin\svn.exe</executable>
        <username>dummy</username>
        <password>dummy</password>      
    </sourcecontrol>
</project>

答案 1 :(得分:4)

您可以设置自己的nant exec任务以从subversion检索源,而不是使用sourceControlProvider块。这样您就可以检索自己喜欢的任何版本。

如果您仍想使用sourceControlProvider块来触发构建,请设置autoGetSource =“false”。但是,看到你想要构建一个特定的版本,我不知道sourceControlProvider的触发器功能是否有用。