Mam ustawione zadanie dla wielu oddziałów, aby uruchomić dowolny oddział z plikiem Jenkins.
Mam kilka opcji, o których mogę pomyśleć, jeśli chcę usunąć gałąź z listy zadań uruchomionych dla potoku wielooddziałowego.
- Mogę usunąć gałąź
- Mogę usunąć plik Jenkins z tego oddziału
Drugie rozwiązanie jest dobre, z tym wyjątkiem, że muszę zatwierdzić i przekazać to do repozytorium git mojej gałęzi, a jeśli gałąź ta zostanie połączona z inną gałęzią, zdmuchnie plik Jenkinsfile.
Jaki jest najlepszy sposób na wyłączenie tylko niektórych gałęzi potoku multibranchowego?
jenkins-pipeline
David West
źródło
źródło
when { anyOf { branch 'master'; branch 'release/**' } }
na dowolnym etapie (deklaratywnie) lubif (env.BRANCH_NAME == 'master' || (env.BRANCH_NAME).startsWith('release/')) {}
w ramach potoku skryptowego (prawie wszędzie). W przypadku pierwszej opcji jest więcej dostępnych w jenkins.io/doc/book/pipeline/syntax/#when . W każdym razie najlepszym sposobem jest skonfigurowanie tego we wtyczce potoku multibranch, jak podano w odpowiedzi.Po prostu usuń plik Jenkinsfile z gałęzi, dla których nie chcesz mieć odpowiadających zadań gałęzi. Spowoduje to usunięcie zadania w oddziale (oczywiście, jeśli odpowiednio ustawiłeś „Strategię dla sierocych przedmiotów”).
Z perspektywy projektu rurociągu Jenkins Multibranch Pipeline ma to taki sam efekt jak usunięcie gałęzi. Wynika to z tego, że po prostu skanuje w poszukiwaniu gałęzi zawierających Jenkinsfiles jako kryterium, kiedy należy utworzyć (lub usunąć) odpowiednie zadanie w gałęzi.
Cofnij zatwierdzenie, aby przywrócić plik Jenkins, jeśli / kiedy ponownie będziesz potrzebować zadania gałęzi.
źródło