Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Configuration Conditions are used as a way to queue or discard a build if certain conditions are met. When creating a condition, you provide a behaviour, the build type it's applied to and a list of conditions. The following image shows the dialog when creating a configuration condition.

Image RemovedImage Added

Behaviour

This field defines the behaviour of the build when the conditions are met. You can choose between Queue and Discard.

Queue

A Queue condition controls when a build should begin executing. If a build is triggered and it contains a Queue condition, Continua will not begin executing the build until all of the queue condition expressions have been met. The build will simply sit in the build queue waiting for all of its queue conditions to evaluate to true. Continua will immediately begin executing the build once all queue condition expression evaluate to true. This is handy for situations where you want to control how a configuration is executed.

For example, you could configure a queue condition so that no builds run between 9-5. To set this up you would create a queue condition with the following expression: $Server.Now.Hour$ Not between 9,16 (As seen in the screenshot above). With this condition, any builds in this configuration that were triggered between 9am and 5pm would sit on the queue until 5pm. At this point it would then run all the builds that were waiting on this condition. If a build was triggered outside these hours then it would run as normal.

 

  • Queue: When any of the conditions are met, the build will be put on the queue rather than started immediately. This is handy for situations where you want to control when you want builds run. For example, you could configure it so no builds run during 9-5 work hours or perhaps during week days. You can also set it up so it queues a build until there's a new change set.
  • Discard: When any of the conditions are met, the build won't be run at all and will be marked as discarded. This is handy for situations where you don't want builds queuing up continuously. For example, you might create a condition that discards the build when there's no new change sets. You could setup a Queue behaviour for that particular condition but the problem with queue is, any time a build is started it will be queued and subsequently run eventually. With discard the build is stopped and will never run again.

...