Tutorial: Menskalakan penyebaran Jenkins dengan VM yang berjalan di Azure
Penting
Banyak layanan Azure memiliki plug-in Jenkins. Beberapa plug-in ini dihentikan pada 29 Februari 2024. Azure CLI adalah cara yang saat ini direkomendasikan untuk mengintegrasikan Jenkins dengan layanan Azure. Untuk informasi selengkapnya, lihat artikel Plug-in Jenkins untuk Azure.
Tutorial ini menunjukkan cara membuat mesin virtual Linux di Azure dan menambahkan VM sebagai node kerja ke Jenkins.
Dalam tutorial ini, Anda akan:
- Membuat mesin agen
- Menambahkan agen ke Jenkins
- Membuat pekerjaan gaya bebas Jenkins baru
- Menjalankan pekerjaan di agen Azure VM
Prasyarat
- Penginstalan Jenkins: Jika Anda tidak memiliki akses ke penginstalan Jenkins, konfigurasikan Jenkins menggunakan Azure CLI
Mengonfigurasikan mesin virtual agen
Gunakan az group create untuk membuat grup sumber daya Azure.
az group create --name <resource_group> --location <location>
Gunakan perintah az vm create untuk membuat mesin virtual.
az vm create --resource-group <resource-group> --name <vm_name> --image UbuntuLTS --admin-username azureuser --admin-password "<password>"
Poin utama:
- Anda juga dapat mengunggah kunci ssh Anda dengan perintah
--ssh-key-value <ssh_path>
berikut.
- Anda juga dapat mengunggah kunci ssh Anda dengan perintah
Instal JDK.
Masuk ke mesin virtual menggunakan alat SSH.
ssh username@123.123.123.123
Instal JDK dengan apt. Anda juga dapat menginstal dengan alat pengelola paket lainnya seperti yum atau pacman.
sudo apt-get install -y default-jdk
Setelah penginstalan selesai, jalankan
java -version
untuk memverifikasi lingkungan Java. Output akan mencakup nomor versi yang terkait dengan berbagai bagian JDK.
Mengonfigurasi URL Jenkins
Jika menggunakan JNLP, Anda harus mengonfigurasi URL Jenkins.
Dari menu, pilih Kelola Jenkins.
Pada Konfigurasi Sistem, pilih Konfigurasikan Sistem.
Verifikasi bahwa URL Jenkins diatur ke alamat HTTP penginstalan Jenkins Anda -
http://<your_host>.<your_domain>:8080/
.Pilih Simpan.
Menambahkan agen ke Jenkins
Dari menu, pilih Kelola Jenkins.
Pada Konfigurasi Sistem, pilih Kelola Node dan Cloud.
Dari menu, pilih Node Baru.
Masukkan nilai untuk Nama Node.
Pilih Agen Permanen.
Pilih OK.
Tentukan nilai untuk bidang berikut ini:
Nama: Tentukan nama unik yang mengidentifikasi agen dalam penginstalan Jenkins baru. Nilai ini bisa berbeda dari nama host agen. Namun, lebih mudah untuk menjadikannya dua nilai yang sama. Nilai nama diperbolehkan menggunakan karakter khusus dari daftar berikut:
?*/\%!@#$^&|<>[]:;
.Direktori root jarak jauh: Agen perlu memiliki direktori yang khusus untuk Jenkins. Tentukan jalur ke direktori ini di agen. Yang terbaik adalah menggunakan jalur absolut, seperti
/home/azureuser/work
atauc:\jenkins
. Ini akan menjadi jalur lokal ke mesin agen. Jalur ini tidak perlu mudah terlihat dari masternya. Jika Anda menggunakan jalur relatif, seperti ./jenkins-agent, jalur akan relatif terhadap direktori kerja yang disediakan oleh metode Launch.Label: Label digunakan untuk mengelompokkan agen yang terkait secara semantik ke dalam satu grup logis. Misalnya, Anda dapat menentukan label
UBUNTU
untuk semua agen Anda yang menjalankan distro Ubuntu Linux.Metode peluncuran: Ada dua opsi untuk memulai node Jenkins jarak jauh: Luncurkan agen melalui SSH dan Luncurkan agen melalui eksekusi perintah pada master:
Luncurkan agen melalui SSH: Tentukan nilai untuk bidang berikut:
Host: Alamat IP publik VM atau nama domain. Misalnya,
123.123.123.123
atauexample.com
Kredensial: Memilih kredensial yang akan digunakan untuk masuk ke host jarak jauh. Anda juga dapat memilih tombol Tambahkan untuk menentukan kredensial baru, kemudian memilih kredensial baru tersebut setelah dibuat.
Strategi Verifikasi Kunci Host: Mengontrol cara Jenkins memverifikasi kunci SSH yang disajikan oleh host jarak jauh saat terhubung.
Luncurkan agen melalui eksekusi perintah pada master:
Unduh
agent.jar
darihttps://<your_jenkins_host_name>/jnlpJars/agent.jar
. Contohnya,https://localhost:8443/jnlpJars/agent.jar
.Unggah
agent.jar
ke mesin virtual AndaMulai Jenkins dengan perintah
ssh <node_host> java -jar <remote_agentjar_path>
. Contohnya,ssh azureuser@99.99.999.9 java -jar /home/azureuser/agent.jar
.
Pilih Simpan.
Setelah Anda menentukan konfigurasi, Jenkins akan menambahkan mesin virtual sebagai node kerja baru.
Membuat pekerjaan di Jenkins
Dari menu, pilih Item Baru.
Masukkan
demoproject1
untuk namanya.Pilih proyek Freestyle.
Pilih OK.
Di tab Umum, pilih Batasi di mana proyek dapat dijalankan dan ketik
ubuntu
dalam Ekspresi Label. Anda akan melihat pesan yang mengonfirmasi bahwa label disajikan oleh konfigurasi cloud yang dibuat pada langkah sebelumnya.Di tab Manajemen Kode Sumber, pilih Git dan tambahkan URL berikut ke dalam bidang URL Repositori:
https://github.com/spring-projects/spring-petclinic.git
Di tab Build, pilih Tambahkan langkah build, lalu Panggil target Maven tingkat atas. Masukkan
package
dalam bidang Tujuan.Pilih Simpan.
Membangun pekerjaan baru di agen Azure VM
Pilih pekerjaan yang Anda buat di langkah sebelumnya.
Pilih Bangun sekarang. Build baru diantrekan, tetapi tidak dimulai sampai VM agen dibuat di langganan Azure Anda.
Setelah build selesai, buka Output konsol. Anda akan melihat bahwa build dilakukan dari jarak jauh pada agen Azure.