开发者

Howto accomplish a scheduled custom CruiseControl.Net trigger with retry mechanism?

I'd like to create the following build strategy with CruiseControl.Net

Check for deliveries at fixed schedule (e.g. 7:00h, 12:00h, 16:00h, 20:00h).

The check for delivery consists of two conditions that must be met before starting an integration build:

  1. Changes are detected in the code archive
  2. Custom condition "A"

I have created a custom trigger plugin which checks for condition A and can be expanded with an inner trigger, in this case a multiTrigger of scheduledTriggers, which seems to work fine.

Now consider the scenario in which there are archive changes detected during the 7:00h check, but custom condition A has not been met (yet). If condition A is met just after the check it would mean开发者_如何学编程 that the changes would not be picked up until the 12:00h check, which is obviously not desired.

Is there any way to implement a kind of retry mechanism within the current CCNet config, so that if changes are detected but condition A is not met yet, CCNet will keep trying until the condition is met and then start the integration build after all?


Why don't you expand your check for condition A more often than the delivery checks with a conf like this :

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

If the schedule trigger detects modifications at 7h but condition is not met A then the state of the schedule trigger is set to "fired" but the build does not fire. if the condition A is met at 7h25 then your tigger will detect it and the build will begin.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜