如何为Cruisecontrol.NET设置多个触发器?

时间:2009-08-13 18:00:35

标签: svn msbuild cruisecontrol.net

我是CruiseControl.net的新手,正在尝试为我正在进行的项目设置它。该项目保持颠覆,但整个项目由核心项目和几个组件组成,每个组件都有一个单独的subversion项目,每个组件都有一个主干,可能的分支和标签。我需要设置cruisecontrol.net,以便将主核心项目subversion文件夹中的以及任何包含的组件更改为触发构建。显然,如果提交包含提交给多个组件的文件,我仍然只需要一个构建。有可能吗?

2 个答案:

答案 0 :(得分:6)

可以:使用多源控制块:

<sourcecontrol type="multi">
    <sourceControls>
        <svn>
            <trunkUrl>svn://foo</trunkUrl>
            <workingDirectory>c:\dev\foo</workingDirectory>
        </svn>
        <svn>
            <trunkUrl>svn://bar</trunkUrl>
            <workingDirectory>c:\dev\bar</workingDirectory>
        </svn>
    </sourceControls>
</sourcecontrol>

PITFALL:请注意,sourcecontrol节点从<sourcecontrol type="svn">更改为<svn> 如果在多源控制块内使用。

答案 1 :(得分:2)

确保每个项目都通过svn:externals包含其组件依赖项。然后configure CruiseControl.NET检查外部:

<checkExternals>True</checkExternals>

这样做的另一个好处是,您可以选择是否遵循依赖项组件的HEAD,或者将svn:externals指向固定版本。