Comment faire pour exécuter la tâche CruiseControl.NET mais seulement après une tâche spécifique se termine?
-
19-09-2019 - |
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?
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.