Git branch wählen Sie im Jenkins mit groovy-Skript
Ich versuche, eine Parameterized build
in Jenkins. Auf diese Weise kann der Benutzer wählen, die git-Zweig, den er/Sie möchte, um die Bereitstellung von einer Kaskade Menü.
Gibt es zwei Möglichkeiten:
-
Schreiben Zweig-Namen in der Datei und Konfiguration von Jenkins, diese Datei zu Lesen (
project configuration > extend choice parameter and selecting Property file
).Problem : Sie haben, um ein lokales repository als Spiegel der remote-repo-und halten das lokale repo in die Synchronisierung mit remote-repo. In anderen Worten, Sie haben, um die Datei zu aktualisieren mit den verfügbaren Zweig-name aktualisiert. Dies muss zeitgesteuert per cron und ich darf nicht mit diesem Ansatz.
-
Verwendung von Groovy-Skript (
project configuration > extend choice parameter and selecting "Groovy script"
). Dann brauchen Sie ein groovy-Skript zum abrufen der branch-name wie folgt:branches=master,feature/Feature-1,feature/Feature-2,hotfix/Hotfix-1,release/Release-1
.
Fand ich ein groovy-Skript in hier aber es funktioniert nicht. Ich habe installiert groovy auf meinem Rechner.
Kann jemand mir helfen? Um es kurz zu machen: ich brauche ein groovy-Skript, die gibt die Geschäftsstelle Namen von einem remote-repository.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dem script unten sollte hilfreich sein. Es basiert auf den scripts von verknüpfte Frage. Es git Filter-Befehl-Ausgabe mit einfachen regulären Ausdruck und erstellt Liste von Markenbezeichnungen für die angegebene git-repository. Getestet auf grails-core-github-repo:
System.exit()
wenn laufen innerhalb des Jenkins (z.B. "extensible Wahl" - plugin).return branches
Brauchen Sie nicht eine Groovy-Skript für diese. Die Git Plugin-Parameter ermöglicht Ihnen das hinzufügen von git-Verzweigungen als parameter.
Versuchen Sie Es Mit
Verwenden Sie die folgenden Schritte aus:
Fügen Sie eine erweiterbare Auswahl der parameter, um Ihren job
wählen Sie System Groovy Wahl-parameter in der Wahl der parameter Feld
Setzen Sie das folgende Skript in Groovy-Skript Textfeld, und ersetzen Sie die Platzhalter "< >" mit den erforderlichen Werten.
Fügen Sie eine aktive Wahl reaktiven parameter, um Ihren job
Ort Referenz Parameter als repository und folgende Skript in Groovy-Skript-Textfeld
Hinweis:
$repository
nimmt dynamischen Wert von repository-parameter.Nun versuchen, die build-job mit dem parameter
Kasse github api-Dokumentation für weitere Informationen. Hoffe, das yould hilfreich sein..!! 😉
Können Sie Extensible Wahl der Parameter plugin abrufen Git-Zweige Ihrer geklonten repository. Dazu fügen Sie auf dem Master-Knoten-Eigenschaft eine Umgebungsvariable an .git-directory-Pfad, z.B.:
Dann fügen Sie eine Erweiterbare Auswahl parameter mit folgender groovy-Skript (und überprüfen Sie "vordefinierte Variablen"):
Sollten eine Liste Ihrer Filialen (ich herausgefiltert, die alle "Branch_*" aus der Liste aus):
Hinweise:
Im Fall sehen Sie nichts, wenn die Validierung des Skript (mit "das Skript Ausführen" drücken), ist es wahrscheinlich aufgrund der erforderlichen Benutzer - /Passwort-prompt - also zunächst "git ls-remote - - t --Köpfe Herkunft" in .git-Verzeichnis.
Zum speichern von Anmeldeinformationen für Windows -, versuchen zu laufen "git config --global credential.Helfer wincred".
War dies die einzige Technik, die ich kam mit, die nicht erfordern, dass Sie zu Graben git repo-Informationen aus dem Arbeitsbereich. Dies nutzt Groovy-code zu inspizieren, um die job-Parameter für die Git-URI, und dann mit Schalen aus
git
zu tun den rest der Arbeit.Sollte es möglich sein, verwenden Sie JGit, um Zugriff auf das repository im einheitlichen Groovy Weg, aber ich kann ' T es herausfinden.
Einstellen, dass als die Groovy-Skript für Ihre Quelle für Wert auf eine Erweiterte Wahl-Parameter wie diese:
Und dann werden Sie in der Lage, wählen Sie aus einer Liste der Filialen, die als build-Parameter: