Wie deaktiviere ich einige Zweige in Multibranch Jenkins Builds?

9

Ich habe einen Multibranch-Job festgelegt, um einen Zweig mit einer Jenkins-Datei auszuführen.

Ich kann mir einige Optionen vorstellen, wenn ich einen Zweig aus der Liste der Jobs entfernen möchte, die für die Pipeline mit mehreren Zweigen ausgeführt werden.

  1. Ich kann den Zweig löschen
  2. Ich kann die Jenkins-Datei in diesem Zweig löschen

Die zweite Lösung ist gut, außer dass ich das für meinen Zweig festschreiben und an das Git-Repo senden muss. Wenn dieser Zweig in einen anderen Zweig zusammengeführt wird, wird die Jenkins-Datei weggeblasen.

Was ist der beste Weg, um nur einige Zweige einer Mehrzweig-Pipeline zu deaktivieren?

David West
quelle

Antworten:

16

Jenkins kann Zweige in einer Mehrzweig-Pipeline mithilfe eines Platzhalters oder eines regulären Ausdrucks nach Namen filtern.

Jenkins filtern Zweige

Casey Vega
quelle
Gibt es eine Möglichkeit, dies in einer Jenkins-Datei zu tun (damit es reproduzierbar ist)?
18.
1
Ja, Sie können when { anyOf { branch 'master'; branch 'release/**' } }in jeder Phase (deklarativ) oder if (env.BRANCH_NAME == 'master' || (env.BRANCH_NAME).startsWith('release/')) {}in einer Skript-Pipeline (fast überall) hinzufügen . Für die erste Option steht unter jenkins.io/doc/book/pipeline/syntax/#when mehr zur Verfügung . Der beste Weg ist jedoch, dies im Multibranch-Pipeline-Plugin zu konfigurieren, wie in der Antwort angegeben.
Biolauri
0

Löschen Sie einfach die Jenkins-Datei in den Filialen, für die Sie keine entsprechenden Filialjobs haben möchten. Dadurch wird der Zweigstellenjob gelöscht (natürlich, wenn Sie Ihre "Orphaned Item Strategy" entsprechend festgelegt haben).

Aus der Sicht eines Jenkins Multibranch Pipeline-Projekts hat dies den gleichen Effekt wie das Löschen des Zweigs. Dies liegt daran, dass einfach nach Zweigen gesucht wird, die Jenkinsfiles als Kriterium für das Erstellen (oder Löschen) eines entsprechenden Zweigstellenjobs enthalten.

Setzen Sie das Commit zurück, um die Jenkins-Datei wiederherzustellen, wenn Sie den Verzweigungsjob erneut benötigen.

timblaktu
quelle