【问题标题】:How do I setup Multiple Triggers for Cruisecontrol.NET?如何为 Cruisecontrol.NET 设置多个触发器?
【发布时间】:2009-08-13 18:00:35
【问题描述】:
我是 CruiseControl.net 的新手,我正在尝试为我正在进行的项目设置它。该项目保留在 subversion 下,但整个项目由核心项目和几个组件组成,每个组件都是一个单独的 subversion 项目,每个组件都有一个主干、可能的分支和标签。我需要设置 Cruisecontrol.net,以便主核心项目 subversion 文件夹中的更改以及 任何包含的组件 触发构建。显然,如果提交由提交给多个组件的文件组成,我仍然只想要一个构建。有可能吗?
【问题讨论】:
标签:
svn
msbuild
cruisecontrol.net
【解决方案1】:
有可能:使用多源控制块:
<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 type="svn"> 更改为 <svn>
如果在多源控制块中使用。
【解决方案2】:
确保每个项目都通过svn:externals 包含其组件依赖项。然后configureCruiseControl.NET 去检查外部:
<checkExternals>True</checkExternals>
这有一个额外的好处,你可以选择是跟随依赖组件的 HEAD,还是将 svn:externals 指向一个固定的版本。