Saya memiliki pekerjaan multibranch yang diatur untuk menjalankan cabang apa pun dengan Jenkinsfile.
Saya memiliki beberapa opsi yang dapat saya pikirkan jika saya ingin menghapus cabang dari daftar pekerjaan yang berjalan untuk pipa multi-cabang.
- Saya dapat menghapus cabang
- Saya dapat menghapus Jenkinsfile di cabang itu
Solusi kedua adalah baik, kecuali saya perlu komit dan dorong ke repositori git untuk cabang saya, dan jika cabang itu digabung ke cabang lain, itu akan menghancurkan Jenkinsfile.
Apa cara terbaik untuk menonaktifkan hanya beberapa cabang pipa multibranch?
jenkins-pipeline
David West
sumber
sumber
when { anyOf { branch 'master'; branch 'release/**' } }
dalam tahap apa pun (dalam deklaratif) atauif (env.BRANCH_NAME == 'master' || (env.BRANCH_NAME).startsWith('release/')) {}
dalam pipa skrip (hampir di mana saja). Untuk opsi pertama, ada lebih banyak tersedia di jenkins.io/doc/book/pipeline/syntax/#when . Bagaimanapun, cara terbaik adalah mengkonfigurasi ini di plugin pipa multibranch, seperti yang dinyatakan dalam jawaban.Hapus saja Jenkinsfile di cabang yang Anda tidak ingin memiliki pekerjaan cabang yang sesuai. Ini akan menghapus pekerjaan cabang (tentu saja, jika Anda telah menetapkan "Strategi Item Orphan Anda" dengan tepat).
Dari perspektif Proyek Pipa Multibranch Jenkins, ini memiliki efek yang sama dengan menghapus cabang. Ini karena ini hanya memindai cabang yang berisi Jenkinsfiles sebagai kriteria kapan membuat (atau menghapus) pekerjaan cabang yang sesuai.
Kembalikan komit untuk memulihkan Jenkinsfile jika / saat Anda membutuhkan pekerjaan cabang lagi.
sumber