Comment désactiver certaines branches dans les builds Jenkins multibranches?


10

J'ai un travail multibranches défini pour exécuter n'importe quelle branche avec un fichier Jenkins.

J'ai quelques options auxquelles je peux penser si je veux supprimer une branche de la liste des travaux en cours d'exécution pour le pipeline multi-branches.

  1. Je peux supprimer la branche
  2. Je peux supprimer le fichier Jenkins dans cette branche

La deuxième solution est bonne, sauf que j'ai besoin de valider et de pousser cela vers le dépôt git pour ma branche, et si cette branche est fusionnée dans une autre branche, elle supprime le fichier Jenkins.

Quelle est la meilleure façon de désactiver uniquement certaines branches d'un pipeline multibranches?

Réponses:


17

Jenkins peut filtrer les branches d'un pipeline multibranches par nom à l'aide d'un caractère générique ou d'une expression régulière.

branches de filtre jenkins


Est-il possible de le faire dans un fichier Jenkins (donc il est reproductible)?
xjcl

1
Oui, vous pouvez ajouter when { anyOf { branch 'master'; branch 'release/**' } }dans n'importe quelle étape (en déclaratif) ou if (env.BRANCH_NAME == 'master' || (env.BRANCH_NAME).startsWith('release/')) {}dans un pipeline scripté (presque n'importe où). Pour la première option, il y en a plus disponibles dans jenkins.io/doc/book/pipeline/syntax/#when . Quoi qu'il en soit, la meilleure façon est de configurer cela dans le plugin de pipeline multibranches, comme indiqué dans la réponse.
biolauri

-1

Supprimez simplement le fichier Jenkins sur la ou les branches pour lesquelles vous ne souhaitez pas avoir de tâches de branche correspondantes. Cela supprimera le travail de branche (bien sûr, si vous avez correctement défini votre «stratégie d'élément orphelin»).

Du point de vue d'un projet de pipeline multibranches Jenkins, cela a le même effet que la suppression de la branche. En effet, il recherche simplement les branches qui contiennent des fichiers Jenkins comme critère pour savoir quand créer (ou supprimer) un travail de branche correspondant.

Annulez la validation pour restaurer le fichier Jenkins si / quand vous avez à nouveau besoin du travail de branche.


C'est trop de travail. Lorsque vous créez une branche et supprimez un fichier, vous modifiez l'historique GIT sans raison valable. Il est préférable de filtrer au niveau Jenkins pour ne rien faire.
casey vega
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.