Tutorial: Menskalakan penyebaran Jenkins dengan VM yang berjalan di Azure

Penting

Meskipun banyak layanan Azure memiliki plug-in Jenkins, sebagian besar plug-in ini mengakhiri dukungan per 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 komputer virtual Linux di Azure dan menambahkan VM sebagai simpul kerja ke Jenkins.

Dalam tutorial ini, Anda akan:

  • Membuat mesin agen
  • Menambahkan agen ke Jenkins
  • Buatlah tugas Jenkins gaya bebas yang baru
  • Menjalankan pekerjaan di agen Azure VM

Prasyarat

Mengonfigurasi mesin virtual agen

  1. Gunakan az group create untuk membuat grup sumber daya Azure.

    az group create --name <resource_group> --location <location>
    
  2. 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 .
  3. Pasang JDK.

    1. Masuk ke komputer virtual menggunakan alat SSH.

      ssh username@123.123.123.123
      
    2. Instal JDK dengan apt. Anda juga dapat menginstal dengan alat manajer paket lainnya seperti yum atau pacman.

      sudo apt-get install -y default-jdk
      
    3. 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 Anda menggunakan JNLP, Anda harus mengonfigurasi URL Jenkins.

  1. Dari menu, pilih Kelola Jenkins.

  2. Di bawah Konfigurasi Sistem, pilih Konfigurasikan Sistem.

  3. Verifikasi bahwa URL Jenkins diatur ke alamat HTTP penginstalan Jenkins Anda - http://<your_host>.<your_domain>:8080/.

  4. Pilih Simpan.

Menambahkan agen ke Jenkins

  1. Dari menu, pilih Kelola Jenkins.

  2. Di bawah Konfigurasi Sistem, pilih Kelola Simpul dan Cloud.

  3. Dari menu, pilih Simpul Baru.

  4. Masukkan nilai untuk Nama Simpul.

  5. Pilih Agen Permanen.

  6. Pilih OK.

  7. Tentukan nilai untuk bidang berikut:

    • Nama: Tentukan nama unik yang mengidentifikasi agen dalam penginstalan Jenkins baru. Nilai ini bisa berbeda dari nama host agen. Namun, lebih mudah untuk membuatnya menjadi dua nilai yang sama. Nilai nama dapat menggunakan karakter khusus dari daftar berikut: ?*/\%!@#$^&|<>[]:;.

    • Direktori akar jarak jauh: Agen harus memiliki direktori yang didedikasikan untuk Jenkins. Tentukan jalur ke direktori ini pada agen. Yang terbaik adalah menggunakan jalur absolut, seperti /home/azureuser/work atau c:\jenkins. Ini harus menjadi rute lokal ke komputer agen. Tidak perlu jalur ini terlihat dari master. Jika Anda menggunakan jalur relatif, seperti ./jenkins-agent, jalur akan relatif terhadap direktori kerja yang disediakan oleh metode Peluncuran.

    • Label: Label digunakan untuk mengelompokkan agen 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 simpul 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 atau example.com

        • Kredensial: Pilih kredensial yang akan digunakan untuk masuk ke host jarak jauh. Anda juga dapat memilih tombol Tambahkan untuk menentukan kredensial baru lalu memilih kredensial baru tersebut setelah dibuat.

        • Strategi Verifikasi Kunci Host: Mengontrol bagaimana Jenkins memverifikasi kunci SSH yang disajikan oleh host jarak jauh saat menyambungkan.

        Contoh konfigurasi node yang menentukan metode peluncuran agen Peluncuran melalui SSH.

      • Luncurkan agen melalui eksekusi perintah pada master:

        • Unduh agent.jar dari https://<your_jenkins_host_name>/jnlpJars/agent.jar. Contohnya, https://localhost:8443/jnlpJars/agent.jar.

        • Mengunggah agent.jar ke komputer virtual Anda

        • Mulai Jenkins dengan perintah ssh <node_host> java -jar <remote_agentjar_path>. Contohnya, ssh azureuser@99.99.999.9 java -jar /home/azureuser/agent.jar.

        Contoh konfigurasi node yang menentukan metode peluncuran agen Peluncuran melalui eksekusi perintah pada master.

  8. Pilih Simpan.

Setelah Anda menentukan konfigurasi, Jenkins menambahkan komputer virtual sebagai simpul kerja baru.

Contoh komputer virtual sebagai simpul kerja baru

Membuat pekerjaan di Jenkins

  1. Dari menu, pilih Item Baru.

  2. Masukkan demoproject1 untuk nama.

  3. Pilih proyek gaya bebas.

  4. Pilih OK.

  5. Di tab Umum , pilih Batasi tempat proyek dapat dijalankan dan ketik ubuntudi Ekspresi Label. Anda melihat pesan yang mengonfirmasi bahwa label dilayani oleh konfigurasi cloud yang dibuat pada langkah sebelumnya.

    Menyiapkan pekerjaan Jenkins baru

  6. Di tab Manajemen Kode Sumber , pilih Git dan tambahkan URL berikut ke bidang URL Repositori : https://github.com/spring-projects/spring-petclinic.git

  7. Di tab Build , pilih Tambahkan langkah build, lalu Panggil target Maven tingkat atas. Masukkan package di bidang Tujuan .

  8. Pilih Simpan.

Membangun pekerjaan baru di agen Azure VM

  1. Pilih pekerjaan yang Anda buat di langkah sebelumnya.

  2. Pilih Bangun sekarang. Build baru diantrekan, tetapi tidak dimulai hingga agen VM dibuat di langganan Azure Anda.

  3. Setelah build selesai, buka Output konsol. Anda melihat bahwa build dilakukan dari jarak jauh pada agen Azure.

    Keluaran konsol

Langkah selanjutnya