Bagikan melalui


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

Mengonfigurasikan 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. Instal JDK.

    1. Masuk ke mesin virtual menggunakan alat SSH.

      ssh username@123.123.123.123
      
    2. Instal JDK dengan apt. Anda juga dapat menginstal dengan alat pengelola 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 menggunakan JNLP, Anda harus mengonfigurasi URL Jenkins.

  1. Dari menu, pilih Kelola Jenkins.

  2. Pada 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. Pada Konfigurasi Sistem, pilih Kelola Node dan Cloud.

  3. Dari menu, pilih Node Baru.

  4. Masukkan nilai untuk Nama Node.

  5. Pilih Agen Permanen.

  6. Pilih OK.

  7. 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 atau c:\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 atau example.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.

        Node configuration example specifying a launch method of Launch agents via 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.

        • Unggah agent.jar ke mesin 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.

        Node configuration example specifying a launch method of Launch agent via execution of command on the master.

  8. Pilih Simpan.

Setelah Anda menentukan konfigurasi, Jenkins akan menambahkan mesin virtual sebagai node kerja baru.

Example of virtual machine as new work node

Membuat pekerjaan di Jenkins

  1. Dari menu, pilih Item Baru.

  2. Masukkan demoproject1 untuk namanya.

  3. Pilih proyek Freestyle.

  4. Pilih OK.

  5. 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.

    Setting up a new Jenkins job

  6. Di tab Manajemen Kode Sumber, pilih Git dan tambahkan URL berikut ke dalam 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 dalam 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 sampai VM agen dibuat di langganan Azure Anda.

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

    Console output

Langkah berikutnya