J'ai une assez compliqué Jenkins travail qui construit, des tests unitaires et des packages d'une application web. Selon la situation, je voudrais faire des choses différentes, une fois ce travail terminé. Je n'ai pas trouvé une ré-utilisable/maintenable façon de le faire. Est-ce vraiment le cas ou j'ai loupé quelque chose?
Les options je voudrais avoir une fois mon travail compliqué complète:
Ne rien faire
-
Commencer mon faible risque de changement de build pipeline:
- copie mon fichier WAR à mon artefact référentiel
- déploie à la production
-
Commencer mon haut risque de changement de build pipeline:
- copie mon fichier WAR à mon artefact référentiel
- déploie pour tester
- exécuter des tests d'acceptation
- de déployer en production
Je n'ai pas trouvé un moyen facile de le faire. Le plus simple, mais pas très facile à gérer approche serait de faire trois emplois différents, chacun de qui débute un peu en aval de construire. Cette approche me fait peur pour plusieurs raisons, notamment le fait que des modifications devraient être apportées à trois endroits au lieu d'un. En outre, beaucoup de l'aval de l'emploi sont également presque identique. La seule différence réside en aval des emplois qu'ils appellent. La prolifération des emplois semble qu'il conduirait une liste non-maintenable mess.
J'ai regardé à l'aide de plusieurs approches de garder cela comme un travail, mais aucun n'a travaillé jusqu'à présent:
Faire le travail d'un multi-configuration du projet (https://wiki.jenkins-ci.org/display/JENKINS/Building+une+matrix+projet). Cela fournit un moyen d'injecter de l'emploi avec un paramètre. Je n'ai pas trouvé une façon de faire de la "construction d'autres projets" étape de répondre à un paramètre.
Utiliser le Paramétrable-Déclencheur plugin (https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Trigger+Plugin). Ce plugin vous permet de déclencher en aval-les travaux basés sur certains déclencheurs. Les déclencheurs apparaît trop restrictive si. Ils sont tous basés sur l'état de la construction, et non pas arbitraire de variables. Je ne vois pas d'option fournie ici qui travaillent pour mon cas d'utilisation.
Utiliser le Flexible de Publier le pluginhttps://wiki.jenkins-ci.org/display/JENKINS/Flexible+Publier+Plugin). Ce plugin a le problème inverse que l'paramétrable-déclencheur plugin. Il contient de nombreuses conditions elle peut vérifier, mais il ne regarde pas comme il peut commencer à construire un autre projet. Ses actions sont limitées à la publication des activités de type.
Utilisation Flexible Publier + n'Importe quelle Étape de génération plugin (https://wiki.jenkins-ci.org/display/JENKINS/Any+Construire+Step+Plugin). La Toute Étape de génération plugin permet de prendre toute action de génération disponible à la flexibilité de Publier le plugin. Alors que plus d'actions ont été mis à disposition une fois ce plugin est activé, ces actions ne comprennent pas "construire d'autres projets."
Il n'y a vraiment pas un moyen facile de faire cela? Je suis surpris que je n'ai pas trouvé et encore plus surpris que je n'ai pas vraiment vu de toute autre personne essaie de faire cela? Suis-je en train de faire quelque chose d'inhabituel? Il est évident que je suis absent?