等待另一步完成的CC.NET替代触发器(使用intervalMultiActivityTrigger - triggerActivity)

时间:2014-10-24 16:56:44

标签: cruisecontrol.net

我在连续构建服务器上使用了一个旧的CC.NET版本,并使用了intervalTrigger和intervalMultiActivityTrigger。最近的CC.NET版本中不存在这些类型的触发器,我很难在文档或stackoverflow中找到解决方法。

我有一个包含4个项目/步骤的连续构建服务器。

  1. 获取最新代码(每5分钟检查一次,如果签入了新代码,则继续检查)
  2. 构建数据库(#1完成时触发)
  3. 构建代码(#2完成时触发)
  4. 运行单元测试(#3完成时触发)
  5. 步骤1使用intervalMultiActivityTrigger检查其他3个项目中是否有任何"睡眠"至于其他步骤完成后才开始第二次构建。

    <trigger type="intervalMultiActivityTrigger" seconds="300" project="04-Do_UnitTests" projectTwo="03-Build_Code" projectThree="02-Build_Database" triggerActivity="Sleeping"/>
    

    使用最新版本的CC.NET执行相同功能有哪些替代方法(检查另一个项目活动=&#34;睡眠&#34;)?

1 个答案:

答案 0 :(得分:0)

队列将是您正在寻找的。可以将队列设置为包含所有项目。只有当项目位于队列的头部时才会强制执行该项目。

默认情况下,每个项目都在一个与项目名称相同的队列中。以下内容将使用默认设置强制每个项目进入名为queue1的同一队列。

<project>
 <queue>queue1</queue>
</project>

可以通过使用其他属性在project范围之外定义队列来配置队列。 你的情况可能不需要这个,但信息在这里:http://cruisecontrolnet.org/projects/ccnet/wiki/Queue_Configuration

自版本1.3以来已存在队列,因此只要您使用该版本或更高版本,就应该没问题。