Comment faire pour exécuter la tâche CruiseControl.NET mais seulement après une tâche spécifique se termine?

StackOverflow https://stackoverflow.com/questions/1725467

Question

Par exemple, j'ai trois tâches: Task1, TASK2, Task3. Comment écrire un fichier de configuration CruiseControl.NET qui fonctionne TASK3 mais seulement après task2 se termine avec succès?

Était-ce utile?

La solution

CruiseControl.NET v1.5 améliore l'exécution des tâches à l'aide de leurs nouvelles tâches séquentielles et parallèles ...

http://confluence.public.thoughtworks.org/display/CCNET / séquentiel + Tâche

<sequential continueOnFailure="false">
  <description>Example of how to run multiple tasks in sequence.</description>
  <tasks>
    <!-- Tasks defined here -->
  </tasks>
</sequential>

Autres conseils

En fonction de ce que vous essayez d'accomplir, cela peut se faire assez facilement de 2 façons:

A) CruiseControl.NET soutient ce qui est appelé projectTriggers :

Pour utiliser cette approche, chaque tâche doit être isolé dans leur propre configuration de projet. En gros, le projet TASK3 surveille l'état de construction du projet task2 . Lorsque le projet task2 se termine correctement, projet TASK3 déclenche une construction. Pour configurer un projectTrigger, modifiez votre projet TASK3 définition ccnet.config et créer un bloc de déclenchement comme suit:

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

B) Configuration de l'ordre de vos tâches à l'aide des cibles au lieu Nant:

Comme l'a souligné Wim , vous voudrez peut-être envisager de diviser les tâches sur des cibles au lieu d'essayer Nant de le faire dans le ccnet.config. Personnellement, je trouve cette approche plus à l'aise parce que je sais bien à Nant est juste faire ce genre de chose.

Je vous suggère de le faire dans votre NAnt ou MSBuild à la place, et se déplacer hors de la configuration de votre CruiseControl.NET.

Qu'est-ce que vos tâches font? Une raison quelconque vous ne pouvez pas les déplacer à l'intérieur de votre script NAnt ou MSBuild?

Je recommande un fichier de script (chauve-souris, PowerShell ) où vous exécutez les tâches et vérifier le succès.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top