2017-07-27 2 views
2

Wir verwenden einen intern gehostete Github-Server für unsere SCM, Jenkins für unsere CI und Git-Flow (über Maven jgitflow Plugin) für unsere Verzweigungsstrategie.Passing Parameter von Github zu Jenkins auf Push

Ich habe einen Jenkins Job bauen so eingerichtet, dass sie den git Zweig als Parameter und kann dann beim Check-out und den richtigen Zweig bauen auf, was ausgewählt wurde.

Jenkins Job with branch variable .....

.....

..... Branch configuration

Was würde Ich mag - ist automatisch die BASE_JOB auszulösen nur das bauen Zweig, der gedrückt wurde. Bisher habe ich keinen Weg gefunden, dies zu tun.

Wenn ich einrichten zu bauen, wenn Änderungen an Github gedrückt werden, dann wird der Job einfach wieder aufbauen, was auch immer der letzte gebaut Zweig unabhängig von der Filiale war, die gedrückt worden ist.

Ich habe einige Plugins für Jenkins gesehen, die Template-Jobs automatisch erzeugen, wenn neue Zweige erstellt werden - aber ich denke, es ist über-kill, einen Job pro derzeit aktiven Zweig zu benötigen.

My available build triggers

Gibt es eine Möglichkeit, einen Zweig Parameter an die passieren „Build, wenn eine Änderung zu GitHub gedrückt wird“? Oder eine andere Möglichkeit, diese scheinbare Einschränkung zu umgehen?

Danke!

+0

Haben Sie für die Zweige jedes Muster haben, die geschoben werden? Wie ein Schlüsselwort/ist es in Ordnung für dich, für alle Zweige außer mater Zweig zu bauen? –

Antwort

1

prüfen mit diesen Einstellungen und sehen, ob es funktioniert.

enter image description here

enter image description here

+0

den Zweig Spezifizierer leer lassen, war die Art und Weise NAHEZU zu bekommen, was ich wollte. In Ihren Build-Triggern habe ich tatsächlich den "GitHub-Hook-Trigger für GITScm-Polling" ausgewählt. Dies ist derjenige, der es ermöglicht, dass der Job ausgelöst wird, wenn etwas an Git gesendet wird. – eak12913

+0

Die obige Lösung erforderlich ich nur 2 Baujobs haben. Das erste, das ich "AUTOBUILD" nenne - dies hat den Branch Specifier als leer und hat den GitHub Hook Build Trigger. Dieser Job wird ausgeführt, wenn jemand zu git drängt und automatisch seinen Zweig erstellt. Mein zweiter Job ist nur mein üblicher Build-Job, der eine BRANCH-Variable hat, die ein Benutzer einstellen kann. Dadurch kann der Benutzer bei Bedarf manuell eine Verzweigung erstellen. – eak12913