6 votes

Jenkins - Comment exécuter une action post-build sans relancer le travail?

J'ai un travail Jenkins long avec une action post-build en échec.

Comment puis-je exécuter à plusieurs reprises l'action post-build sans relancer tout le travail?

4voto

Slav Points 6322

Si la division du travail en 2 emplois n'est pas une option, vous pouvez envisager
https://wiki.jenkins-ci.org/display/JENKINS/Promoted+Builds+Plugin
(ce plugin est préinstallé avec Jenkins je crois). Cela permet de rendre les étapes de "promotion" distinctes et répétables. Vous pouvez le configurer pour s'exécuter automatiquement après la construction, puis manuellement sur demande en cas de besoin.

Si vos étapes de post-construction nécessitent l'accès aux artefacts de construction, vous devrez utiliser https://wiki.jenkins-ci.org/display/JENKINS/Copy+Artifact+Plugin pour copier les artefacts de construction dans l'espace de travail de promotion.

Une autre solution est de sautez l'étape de construction en fonction d'un paramètre. Avoir un paramètre de Choix appelé SkipBuild ou quelque chose du genre. Définissez les valeurs possibles sur TRUE/FALSE, par défaut à FALSE

Dans votre étape de Construction, avant de construire réellement, vérifiez si SkipBuild est défini sur TRUE. Si TRUE, exit 0, si FALSE (qui est la valeur par défaut) alors exécutez la commande de construction.

De cette façon, les exécutions de construction automatiques exécuteront toujours l'étape de construction. Mais vous pouvez également exécuter manuellement la construction et sélectionner "SkipBuild=TRUE" pour sauter l'étape de construction et passer directement aux actions de post-construction. Si vous devez sauter certaines actions de post-construction, vous devrez également implémenter ce paramètre SkipBuild là aussi.

Cependant, faites attention car les exécutions ultérieures de la construction, même avec "SkipBuild=TRUE", effectueront toujours un checkout SVN, donc votre espace de travail peut changer.

1voto

Stuart Whelan Points 385

En fonction de vos étapes de construction, vous pourriez être en mesure de les 'sauter'.

Par exemple, mes étapes de construction sont des fichiers powershell et batch Windows.

Si je veux sauter une étape, il me suffit d'ajouter 'exit 0' comme première ligne de la commande powershell ou batch.

Sachez que cela entraînera toujours l'exécution d'autres étapes de pré-construction, comme le nettoyage de l'espace de travail et les vérifications du système de contrôle de version.

0voto

Oli Charlesworth Points 148744

En fonction de l'action à réaliser, une option simple pourrait être de la diviser en un travail autonome déclenché par l'original. De cette façon, vous êtes libre de le relancer manuellement.

Pour partager des artefacts ou des espaces de travail entre deux travaux, les plugins suivants me viennent à l'esprit :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X