如何配置CruiseControl.net来构建共同依赖的项目?

Ach*_*les 8 cruisecontrol.net

例如:

我想建立项目A.项目A取决于项目B和项目C.

编辑: 每个项目在SVN中都有自己的主干:[repository] ​​/ ProjectA/trunk [repository] ​​/ ProjectB/trunk [repository] ​​/ ProjectC/trunk

我的问题有几个部分:

  1. CCNET实现这种"依赖"构建的方法/配置是什么?
  2. 我应该如何配置项目以便构建项目B或C,然后它触发项目A的构建?
  3. 随着每个项目获得依赖关系,缩放构建过程的可扩展方法/配置是什么?

我是CCNET的新手,所以如果有一些基本概念,请不要认为我知道它们.细节是我的朋友:-D

编辑: 我正在使用SVN作为我的源代码控制提供程序.

Gra*_*meF 10

ProjectB成功构建时,可以使用Project Trigger启动ProjectA,如下所示:

<project name="ProjectA">
    <triggers>
        <projectTrigger project="ProjectB">
            <triggerStatus>Success</triggerStatus>
            <innerTrigger type="intervalTrigger"
                          seconds="60"
                          buildCondition="ForceBuild" />
        </projectTrigger>
    </triggers>
    ...
</project>
Run Code Online (Sandbox Code Playgroud)

这将每隔60秒轮询一次ProjectB的构建结果,如果有新的成功构建,则会触发ProjectA.默认情况下,它将在同一CCNET服务器上查找项目,但您可以使用该serverUri属性将其指向另一个项目.如果您还希望在更新Subversion存储库时构建ProjectA,则可以为其添加另一个触发器.

如果您在同一服务器上运行构建,则可以将它们放在同一队列中,如果它们可能以任何方式相互干扰,否则您可以同时构建它们.