Как запустить задачу CruiseControl.NET, но только после завершения конкретной задачи? - PullRequest
3 голосов
/ 13 ноября 2009

Например, у меня есть три задачи: задача1, задача2, задача3. Как написать файл конфигурации CruiseControl.NET , который запускает задачу 3, но только после успешного завершения задачи 2?

Ответы [ 4 ]

5 голосов
/ 13 ноября 2009

CruiseControl.NET v1.5 улучшает выполнение задач, используя их новые последовательные и параллельные задачи ...

http://confluence.public.thoughtworks.org/display/CCNET/Sequential+Task

<sequential continueOnFailure="false">
  <description>Example of how to run multiple tasks in sequence.</description>
  <tasks>
    <!-- Tasks defined here -->
  </tasks>
</sequential>
4 голосов
/ 13 ноября 2009

В зависимости от того, что вы пытаетесь достичь, это можно сделать довольно легко двумя способами:

A) CruiseControl.NET поддерживает то, что называется projectTriggers :

Чтобы использовать этот подход, каждая задача должна быть изолирована в своей конфигурации проекта. По сути, проект task3 отслеживает состояние сборки проекта task2 . После успешного завершения проекта task2 проект task3 запускает сборку. Чтобы настроить projectTrigger, отредактируйте определение task3 project в ccnet.config и создайте блок триггера следующим образом:

<triggers>
  <multiTrigger>
    <triggers>
      <intervalTrigger seconds="30" />
      <projectTrigger project="task2">
        <triggerStatus>Success</triggerStatus>
      </projectTrigger>
    </triggers>
  </multiTrigger>
</triggers>

B) Установите порядок ваших задач, используя вместо этого цели Nant:

Как указывает Wim , вы можете подумать о том, чтобы разбить задачи на цели Nant, а не пытаться делать это в ccnet.config. Лично я нахожу такой подход более удобным только потому, что знаю, что Нант умеет делать именно такие вещи.

2 голосов
/ 13 ноября 2009

Я бы посоветовал вам сделать это внутри задачи NAnt или MSBuild и переместить ее из конфигурации CruiseControl.NET.

Что делают ваши задачи? По какой причине вы не можете переместить их в свой скрипт NAnt или MSBuild?

0 голосов
/ 13 ноября 2009

Я бы порекомендовал файл сценария (bat, PowerShell ), в котором вы запускаете задачи и проверяете их на успех.

...