Saya memiliki pekerjaan yang akan membuat file, kecuali salah satu nilai yang diumpankan itu cocok dengan nilai yang lebih lama. Apa cara terbersih di Jenkins untuk membatalkan atau keluar dari pekerjaan, tanpa itu FAILED
? Keluar adalah perilaku yang benar jadi saya ingin build ditandai SUCCESS
.
Itu akan berakhir dalam pernyataan if seperti itu;
stage ('Check value') {
if( $VALUE1 == $VALUE2 ) {
//if they do match exit as a success, else continue with the rest of the job
}
}
Saya tidak ingin membuang kode kesalahan kecuali jika entah bagaimana bisa menerjemahkannya menjadi ditandai membangun yang berhasil.
exit 0
...return 0
, semua dalam semua ujung kode groovy yang tidak membuang pengecualian harus saya pikir. Saya akan memberi tahu seseorang dengan latar belakang jenkins 2 lebih lanjut untuk mengkonfirmasi atau lemahJawaban:
Menemukannya. Di luar tahapan apa pun (jika tidak, ini hanya akan mengakhiri tahap tertentu sebagai keberhasilan) lakukan hal berikut;
return
akan menghentikan tahap atau simpul yang Anda jalankan yang mengapa menjalankannya di luar tahap itu penting, sementara mengaturcurrentBuild.result
mencegahnya gagal.sumber
Anda juga dapat menggunakan kesalahan untuk keluar dari tahap saat ini, maka Anda tidak perlu mempertimbangkan hierarki tahap saat ini dan hal-hal serupa:
Tetapi ini akan mengarah ke tahap merah, jika kesalahan terjadi dalam suatu tahap.
Itu tergantung pada kebutuhan Anda, ke arah mana Anda ingin menggunakannya.
sumber
RuntimeException
untuk melempar alih-alih perlu menangkap semua pengecualian dan periksa benderaJujur Anda tidak perlu menggunakan perintah keluar secara khusus, tetapi ada Plugin BuildStep Bersyarat yang dapat mencapai hasil akhir yang sama (kode yang tidak berjalan).
Saya belum menemukan ini, jadi belum menggunakan plugin.
Ada juga kondisional seperti yang ditemukan dalam posting Stack Overflow sebelumnya di Jenkins: Jenkins Pipeline Conditional Step / Stage
sumber
exit
perintah literal " - jika demikian saya minta maaf, itu kesalahpahaman saya.The
Executor.interrupt(Result)
metode adalah terbersih, cara yang paling langsung saya bisa menemukan untuk berhenti membangun prematur dan menandainya sebagai sukses.Pro :
Cons :
sumber