Bagaimana cara saya memberi tahu Jenkins untuk menjalankan proyek tertentu pada budak tertentu?
Saya sudah menyiapkan node master Jenkins, dan slave node yang ingin saya gunakan untuk pementasan aplikasi. Tapi saya tidak tahu cara mengkonfigurasi proyek agar berjalan pada slave node yang saya buat.
Jawaban:
Setel kotak centang "Batasi di mana pekerjaan ini dapat dijalankan" di konfigurasi pekerjaan Anda dan tentukan nama budak Anda.
Jika Anda menambahkan lebih banyak budak di lain waktu, Anda dapat mengatur label untuk setiap budak dan menentukan yang ada di konfigurasi pekerjaan Anda.
Lihat dokumentasi referensi ini:
sumber
Jika Anda menjalankan pekerjaan Pipeline, pertama-tama Anda ingin menambahkan label (mis. 'Slave') ke slave node (atau agen yang tampaknya dipanggil sekarang).
Kemudian, dalam skrip pipeline, Anda menentukan label pekerjaan berjalan:
Pipa deklaratif:
Pipa skrip:
Pekerjaan ini sekarang akan berjalan pada sembarang simpul dengan label 'slave'. Jika Anda hanya ingin pekerjaan dijalankan pada budak khusus ini, jangan gunakan kembali labelnya. Dan tentu saja labelnya tidak harus menjadi 'budak'; itu bisa menjadi apa pun yang Anda inginkan.
Memperbarui:
Di dalam pipa skrip, jika simpul Anda dinamai "Node Saya", Anda juga dapat melakukan ini:
Jika Anda hanya ingin blok kode dijalankan pada node tertentu, ini berguna. Namun, menggunakan label lebih fleksibel, dan dapat membuat lebih mudah untuk menambahkan node untuk berbagi beban kerja.
sumber
Jika Anda ingin menggunakan Node / Label sebagai parameter, maka instal NodeLabel Parameter Plugin
sumber
params += new org.jvnet.jenkins.plugins.nodelabelparameter.LabelParameterValue('testServer', testServerLabel);
(bukan yang biasaStringParameterValue
).