2016-05-13 11 views

Antwort

6

Da Sie die neueste Jenkins-Version verwenden, sollten Sie Ihre Jobs auf multibranch pipeline setup umstellen.

Der Workflow mehrfach verzweigten Funktion (vom Workflow-Plugin zur Verfügung gestellt) bietet die folgenden Schlüsselfähigkeiten:

  • Automatische Workflow (Job) Erstellung in Jenkins pro Niederlassung im Repo (unter der Annahme webhooks von registriert ist GH zu Jenkins).

  • Build spezifisch für diese Kind-Zweig und seine einzigartige SCM ändern und bauen Geschichte.

  • Automatische Jobbereinigung/Löschung für Zweige, die gemäß den Einstellungen aus dem Repository gelöscht wurden.

  • Flexibilität zur individuellen Konfiguration von Zweigeigenschaften durch Überschreiben der übergeordneten Eigenschaften, falls erforderlich.

EDIT: Überprüfen Sie die Einstellungen 'Discard alte Elemente' für Sie Pipeline. Wenn Sie "Max # von alten Artikeln ungleich null" haben, wird Ihre Nummer nie gelöscht, wenn Ihre Filiale weniger Builds als diese Nummer hat. Sie können sogar, dass in Protokollen sehen:

Will not remove US12345 as it is only #1 in the list 
Will not remove US23456 as it is only #2 in the list 
Will not remove US34567 as it is only #3 in the list 

EDIT: Sie können auch Ihr Glück genannt, indem zusätzliches Verhalten versuchen können „Prune abgestanden Fernverfolgung Zweige“ („Behaviors“ -> „Add“ -> Select aus Dropdown).

+0

Also sollte ich es ein Fehler, wie ich werde prüfen Ich benutze das Multibranch-Pipeline-Setup - danke – ligi

+2

Ich sehe das gleiche ... die alten Zweige werden nicht von Jenkins gelöscht, wenn sie aus dem Repository verschwunden sind. @ligi: Hast du einen Fehler gemeldet? – kenyee

+0

@kenyee, check my edit? – madhead

3

1) Gehen Sie zu Manage Jenkins -> Global Tool Configuration -> Git -> Add Git -> Choose JGit.

2) auf Ihre mehrfach verzweigten Pipeline-Konfiguration Dann gehen Sie und wählen JGit statt Default unter Branch Sources -> Git Executable

3) Drücken Branch Indexing -> Run now

Alte Zweige jetzt weg