Saat Anda menggunakan proyek gaya bebas, Anda dapat menyetel bahwa setelah 20 menit pembuatan dibatalkan jika tidak diselesaikan. Bagaimana ini mungkin dengan Proyek Saluran Pipa Banyak Cabang Jenkins?
jenkins
jenkins-pipeline
Devonte
sumber
sumber
JENKINS_URL/job/<any Pipeline project>/pipeline-syntax/
→ Step Reference .def n=Jenkins.instance.getNode("ETService3") if (n!=null && n.computer && n.computer.online) { echo "Online" } else { echo "Offline" // wait a little bit and try again }
Cara yang sulit untuk memperoleh node dua kali. Pertama kali dengan batas waktu luar, yang kedua dengan batas waktu bagian dalam. Saya kehilangan fiturnya juga.Untuk Declarative Pipeline , disarankan untuk menggunakan langkah batas waktu di bagian options .
Langkah batas waktu memiliki 3 parameter yang dapat Anda konfigurasikan:
waktu (wajib, int)
aktivitas (opsional, boolean)
unit (opsional, nilai: NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS)
Contoh:
The dokumentasi resmi Jenkins memiliki contoh yang sangat bagus untuk penggunaan timeout:
sumber
activity
memiliki false sebagai default. Whenactivity
is false - timeout untuk seluruh pekerjaan, untuktrue
timeout untuk aktivitas (untuk mencetak apapun ke log).timeout
untuk tahapan tertentu sedemikian rupa sehingga tahapan selanjutnya harus berjalan dengan anggun. Dalam contoh di atas, pipeline dibatalkan setelah batas waktu dan tahapan selanjutnya tidak dijalankan. Apakah ada cara untuk memenuhi kebutuhan saya? Kode Contoh untuk batas waktu dari tahap tertentu (dari Jenkins Doc resmi):pipeline { agent any stages { stage('Example') { options { timeout(time: 1, unit: 'HOURS') } steps { echo 'Hello World' } } } }