0

我想用 CruiseControl.Net 创建以下构建策略

按固定时间表检查交货(例如 7:00h、12:00h、16:00h、20:00h)。
交付检查包括在开始集成构建之前必须满足的两个条件:

  1. 在代码存档中检测到更改
  2. 自定义条件“A”

我创建了一个自定义触发器插件,它检查条件 A 并且可以使用内部触发器进行扩展,在本例中是 scheduleTriggers 的 multiTrigger,它似乎工作正常。

现在考虑在 7:00 检查期间检测到存档更改但尚未满足自定义条件 A 的场景。如果在检查后满足条件 A,则意味着在 12:00 检查之前不会获取更改,这显然是不希望的。

有没有办法在当前的 CCNet 配置中实现一种重试机制,以便如果检测到更改但尚未满足条件 A,CCNet 将继续尝试直到满足条件,然后才开始集成构建?

4

1 回答 1

0

为什么不更频繁地扩展您对条件 A 的检查,而不是使用这样的 conf 进行交付检查:

multitrigger AND
  scheduletrigger in code archive : 7h 12h 16h 20h
  YourTrigger (say checked every 5 min)

如果调度触发器在 7h 检测到修改但不满足条件 A,则调度触发器的状态设置为“已触发”但构建不会触发。如果在 7 点 25 分满足条件 A,那么您的 tigger 将检测到它并开始构建。

于 2011-03-30T15:00:41.333 回答