/ / Comment définir des tâches dans Jenkins / Hudson pour qu'elles s'exécutent en parallèle? - intégration continue, hudson, jenkins, traitement parallèle, jenkins-plugins

Comment définir des tâches dans Jenkins / Hudson pour qu'elles s'exécutent en parallèle? - intégration continue, hudson, jenkins, traitement parallèle, jenkins-plugins

PROBLÈME: Étant donné un certain nombre d’emplois à Jenkins / Hudson, chacunattribué un numéro, nous pouvons appeler le niveau. Ce nombre varie de 1 à n et plusieurs travaux peuvent avoir le même niveau. Maintenant, je voudrais définir ces travaux (autrement indépendants) à exécuter de telle sorte que le niveau 1 doit être créé avant le niveau 2, et Je voudrais que Jenkins / Hudson démarre plusieurs travaux au même niveau en parallèle si les exécuteurs esclaves sur lesquels les travaux sont définis sont libres.

Ce que ce numéro de niveau importe peu, c’est défini pour expliquer le problème.

IMPORTANT: Je voudrais la possibilité de générer cestravaux automatiquement, car je sais quels travaux dépendent de ceux qui peuvent être exécutés en parallèle, donc si la solution est une configuration dans le fichier config.xml, il serait bon d’entendre parler de cela, de sorte que je puisse créer un script pour la génération automatique de ces configurations. des dossiers.

Les emplois de niveau X peuvent et doivent être exécutés en parallèle, autant que possible.

Merci pour votre temps.

MODIFIER: Il y a un autre que j'aimerais savoir, dansDans ce cas, il existe une solution élégante: étant donné que le travail X est déclenché par Build Flow Plugin, il échoue. Existe-t-il un moyen quelconque si je souhaite que le plug-in Build Flow déclenche à nouveau le même travail (après l'avoir corrigé) et continue normalement pour les travaux définis via le plug-in?

Réponses:

9 pour la réponse № 1

Il y a un plugin relativement nouveau pour Jenkins,appelé plugin Build Flow. Ce plugin fournit un nouveau type de travail, dans lequel vous pouvez définir de telles structures de dépendance de travail avec un DSL. Je pense que vous pouvez aussi le faire automatiquement. Le plugin est très puissant, vous pouvez trouver plus d'infos ici. Je ne sais pas si ce plugin fonctionnera également dans Hudson, car il requiert la version minimale de Jenkins 1.424 et la dernière version de Hudson a également changé sa configuration XML.