Wie Konfiguriere ich Jenkins zu bauen, alle Branchen, ausgenommen ein paar wenige, die ich ausschließen?
Haben wir einige code in git und ich angefangen, Jenkins zum greifen Sie unsere Niederlassungen und versuchen zu kompilieren. Es scheint, dass ein paar von den Filialen angefangen haben zu faulen in den Jahren seit Ihrer letzten gebaut, wie Sie ausfallen fertig machen.
Ich würde gern alle Branchen, die gefunden werden, außer für eine Liste der ausgeschlossenen lieben. Ist das möglich in Jenkins? Dies lässt mich die Dinge laufen, dann kommen Sie wieder zu aktivieren, mehr Zweige, die wie ich versuchen, Sie zu beheben.
Was ich bisher versucht habe
Regex mit lookahead
Blick auf die 'Git > Zweigniederlassungen zu errichten" - option, die ich hatte gehofft, ich könnte ersetzen die Standard - '* * ' wildcard mit :. Ein bisschen Graben über und doppelte überprüfung mit http://rubular.com/ vorgeschlagen, dass die folgenden könnten tun, was ich wollte.
:^(?!Herkunft/exclude\-den\-Zweig\.v1|Herkunft/exclude\-den\-branch\-zu.v2)(\S+)
Nun gibt es hier eine Annahme über die regex-engine, die im hintergrund laufen. Ich hoffe, dass es vielleicht verstehen, lookahead, aber wenn es nicht erklärt, warum diese Methode schlägt fehl. Es scheint, bauen alle äste, auch die, die ich bin, versuchen auszuschließen. Vielleicht brauche ich nur ein paar mehr debug?
Gesucht ähnliche Fragen hier
Stieß ich auf Jenkins/Hudson-Build Alle Branchen Mit Priorisierung die schien zu enthalten, eine mögliche Lösung, dass einige Hinzugefügt eine inverse option zu ast-matching https://github.com/jenkinsci/git-plugin/pull/45 klingt wie das, was ich brauche. Leider scheint dies nicht zu sein in der version von Jenkins habe ich, welche ist seltsam, wie 2011 ist eine lange Zeit.
Das System Ich Bin Mit
Ubuntu LTS 14.04. Jenkins ver. 1.611. GNU-toolchains, um C/C++ - code.
- Das ist so ziemlich ein Duplikat dieser Frage. Sie schreiben ein regex passt nur die Zweige, die Sie ausschließen möchten (oder einfacher wäre, mehrere "Zweig erstellen" - Einträge), und verwenden Sie dann die "Inverse" Auswahl der Strategie.
- das klingt wie die Lösung, die ich brauche. Ich konnte einfach nicht herausfinden, wo das inverse Optionen versteckt war. Ich habe es ausprobiert und es scheint nicht zu funktionieren, immer noch versucht zu bauen, die ausgeschlossen Zweig, aber ich werde bleiben. Sollten Sie Ihren Kommentar als eine Antwort, so dass ich es auswählen zu können oder ist das nicht so, wie Duplikate behandelt werden?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie über die Verwendung
branch-Planer. Diese regexp bedeutet, dass alle Zweige, die nicht zusammenpassen master.
Aufteilung:
Verwandte: https://stackoverflow.com/a/18709097/109305
Brauchte ich mit dem tool Jenkins "filter-branch-by-regex", und ich entdeckte den Geschmack der regex funktioniert nur mit Rückverweis.
So, nach dem Jesper Antwort und dieses Problem, hier habe ich zwei weitere Beispiele:
Ich hoffe, das wäre hilfreich für jemanden, der
BEARBEITEN - Neues Beispiel
oder
?:
Teile? Sollte nicht die erste regex einfach sein^.*release\/\d+.\d+.\d+$
?triggers { gitlab(triggerOnPush: true, triggerOnMergeRequest: false, branchFilterType: "RegexBasedFilter", targetBranchRegex: '^(?:(?!feature).)*$') }
wenn Sie nicht verwenden Sie, dass der trigger nicht funktioniert.