De nombreux développeurs créent des branches de fonctionnalités que je souhaiterais créer. Tous les soirs, nous exécutons un outil de qualité du code qui doit être exécuté sur toutes les branches. Je ne voudrais pas non plus une configuration statique car le nombre de branches change toutes les quelques semaines.
Dans la configuration de Git, il existe un champ 'Spécificateur de branche (vide par défaut):' Si vous le mettez ici **, toutes les branches de toutes les télécommandes seront construites.
ayant cela, vous pouvez utiliser une variable d’environnement $ {GIT_BRANCH} par ex. définir un titre pour la construction à l’aide de https://wiki.jenkins-ci.org/display/JENKINS/Build+Name+Setter+Plugin ou à d’autres fins
J'ai eu le même problème à résoudre. Spécifiquement, créez un fichier Zip de toutes les branches et proposez-les comme artefacts à utiliser dans différents travaux de test.
Dans "Branches à construire", mettez "**"
Ensuite, exécutez Shell:
while read -ra ITEM; do
for i in "${ITEM[@]}"; do
git checkout $i
<do your stuff>
done
done <<< $(git branch -r | grep -v "HEAD ->" | xargs -L 1 | cut -d'/' -f2)
Ceci lit la liste des branches, extrait chacune d’elles séparément et permet de faire des choses dans chacune d’elles. La commande <<< convertit cette sortie:
Origin/HEAD -> Origin/master
Origin/branch1
Origin/master
Origin/secondbranch
dans la liste de contrôle utilisable:
branch1
master
secondbranch
Ancienne question mais réponse un peu plus appropriée. Le plugin multi-branches ci-dessous vous permet de créer un type d'élément de construction qui ventilera les sous-projets avec les branches, synchronisant automatiquement la configuration du niveau supérieur au sous-projet.
https://wiki.jenkins-ci.org/display/JENKINS/Multi-Branch+Project+Plugin
Pour une approche un peu plus complexe, le plug-in Seed vous donne beaucoup de flexibilité pour définir des sous-travaux.
Le ** pour le spécificateur de branche s'exécutera sur toutes les branches ET toutes les balises. Si vous voulez juste des branches, utilisez un spécificateur de branche de refs/heads/*