Git branch sélectionnez dans Jenkins avec groovy script
Je suis en train de faire un Parameterized build
dans Jenkins. De cette façon, l'utilisateur peut choisir la branche git il/elle veut déployer à partir d'une cascade de menu.
Il y a deux façons possibles:
- L'écriture de la branche dans les noms de fichier et de configurer Jenkins pour lire ce fichier (
project configuration > extend choice parameter and selecting Property file
).Problème : Vous devez faire un dépôt local comme un miroir de la distance de pensions et de garder ce local de pensions de la synchronisation à distance avec des pensions de titres. En d'autres termes, vous devez mettre à jour le fichier contenant le disponible nom de la branche mise à jour. Cela nécessite un travail planifié par cron et je ne suis pas autorisé l'utilisation de cette approche.
- À l'aide de script Groovy (
project configuration > extend choice parameter and selecting "Groovy script"
). Ensuite, vous avez besoin d'un script groovy pour récupérer le nom de la branche comme suit:branches=master,feature/Feature-1,feature/Feature-2,hotfix/Hotfix-1,release/Release-1
.
J'ai trouvé un script groovy dans ici mais ça ne fonctionne pas. J'ai installé groovy sur ma machine.
Quelqu'un peut-il m'aider? Pour faire bref: j'ai besoin d'un script groovy qui renvoie à la disposition des noms de branche d'un dépôt distant.
OriginalL'auteur Danial | 2014-08-26
Vous devez vous connecter pour publier un commentaire.
Le script ci-dessous doit être utile. Il est basé sur les scripts de lié à la question. Il filtre commande git de sortie avec une expression régulière simple et crée une liste de noms de branche pour le dépôt git. Testé sur graal-core dépôt github:
System.exit()
si en cours d'exécution dans le Jenkins (par exemple, "extensible" choix de plugin).est droit. à l'aide de cette instruction permet de redémarrer l'ensemble jenkins, si quelque chose va mal. BTW, la dernière déclaration doit être
return branches
OriginalL'auteur Paweł Piecyk
Vous n'avez pas besoin d'un Script Groovy pour cela. Le Git Paramètre Plugin vous permet d'ajouter des branches git en tant que paramètre.
Aussi ne fonctionne pas si vous avez plusieurs référentiels, il sera toujours seulement de montrer les branches de l'un des repos seulement.
Aussi Git Paramètre Plugin ne fonctionne pas bien avec Jenkins Pipelines (vous ne pouvez pas le programme d'installation SCM config dans le Pipeline de vue).
OriginalL'auteur Wilfred Hughes
Vous pouvez utiliser Extensible Paramètre de Choix de plugin pour récupérer les branches Git d'un clone de votre référentiel. Pour ce faire, ajoutez de Maître-Nœud de propriété d'une variable d'environnement .git chemin d'accès au répertoire, par exemple:
Puis ajouter un Extensible paramètre de Choix à la suite de groovy script (et cochez la case "Utiliser des variables prédéfinies"):
Qui devrait liste de vos branches (j'ai éliminé tous "Branch_*" dans la liste):
Notes:
Dans le cas où vous ne voyez rien, lors de la validation du script (avec "Exécuter le script"), c'est probablement dû aux requis de l'utilisateur/mot de passe invite donc, au départ, exécuter "git ls-à distance -t --les chefs origine".répertoire git.
Pour enregistrer des informations d'identification sur Windows, essayez d'exécuter "git config --global d'identification.helper wincred".
OriginalL'auteur Noam Manos
Essayez D'Utiliser
Utilisez les étapes suivantes:
Ajouter un extensible paramètre de choix pour votre travail
sélectionnez Système Groovy paramètre de Choix dans le Choix du champ de paramètre
Placez le script suivant dans Groovy script zone de texte et remplacez la place des titulaires "< >" avec les valeurs requises.
Ajouter un choix actif réactif paramètre de votre travail
Place Paramètre de Référence comme référentiel et le script suivant dans le Script Groovy zone de texte
Remarque:
$repository
prend la valeur dynamique de référentiel paramètre.Maintenant, essayez de construire de travail avec le paramètre
caisse github api docs pour plus d'informations. Espérons que ce yould être utile..!! 😉
OriginalL'auteur Aananth K
Ce fut la seule technique que j'ai trouvé qui ne vous obligent pas à creuser repo git de l'information de l'espace de travail. Il utilise Groovy code pour inspecter les paramètres de travail pour le Git URI, puis shells pour
git
pour faire le reste du travail.Il devrait être possible d'utiliser JGit pour accéder au référentiel en natif Groovy façon, mais je ne peux pas la comprendre.
Définir comme Groovy Script pour votre Source de Valeur sur un Choix Étendu de paramètres comme ceci:
Et alors vous serez en mesure de sélectionner à partir d'une liste d'agences de construire paramètres:
OriginalL'auteur Andrew Bobulsky