Öğretici: Azure'da çalışan VM ile Jenkins dağıtımlarını ölçeklendirme

Önemli

Birçok Azure hizmeti Jenkins eklentilerine sahiptir. Bu eklentilerden bazıları 29 Şubat 2024 itibarıyla destekten çıkarılacaktır. Azure CLI, Jenkins'i Azure hizmetleriyle tümleştirmenin şu anda önerilen yoludur. Daha fazla bilgi için Azure için Jenkins eklentileri makalesine bakın.

Bu öğreticide, Azure'da Linux sanal makineleri oluşturma ve VM'yi Jenkins'e iş düğümü olarak ekleme adımları gösterilmektedir.

Bu öğreticide şunları yapacaksınız:

  • Aracı makinesi oluşturma
  • Jenkins'e aracı ekleme
  • Yeni bir serbest tarzda Jenkins işi oluşturma
  • İşi bir Azure VM aracısında çalıştırma

Önkoşullar

Aracı sanal makinesini yapılandırma

  1. Azure kaynak grubu oluşturmak için az group create komutunu kullanın.

    az group create --name <resource_group> --location <location>
    
  2. Bir sanal makine oluşturmak için az vm create komutunu kullanın.

    az vm create --resource-group <resource-group> --name <vm_name> --image UbuntuLTS --admin-username azureuser --admin-password "<password>"
    

    Önemli noktalar:

    • SSH anahtarınızı aşağıdaki komutla --ssh-key-value <ssh_path>da karşıya yükleyebilirsiniz.
  3. JDK'yi yükleyin.

    1. SSH aracını kullanarak sanal makinede oturum açın.

      ssh username@123.123.123.123
      
    2. Apt ile JDK'yi yükleyin. Ayrıca yum veya pacman gibi diğer paket yöneticisi araçlarıyla da yükleyebilirsiniz.

      sudo apt-get install -y default-jdk
      
    3. Yükleme tamamlandıktan sonra Java ortamını doğrulamak için komutunu çalıştırın java -version . Çıkış, JDK'nin çeşitli bölümleriyle ilişkili sürüm numaralarını içerir.

Jenkins URL'sini yapılandırma

JNLP kullanıyorsanız Jenkins URL'sini yapılandırmanız gerekir.

  1. Menüden Jenkins'i Yönet'i seçin.

  2. Sistem Yapılandırması'nın altında Sistemi Yapılandır'ı seçin.

  3. Jenkins URL'sinin Jenkins yüklemenizin HTTP adresine ayarlandığını doğrulayın- http://<your_host>.<your_domain>:8080/.

  4. Kaydet'i seçin.

Jenkins'e aracı ekleme

  1. Menüden Jenkins'i Yönet'i seçin.

  2. Sistem Yapılandırması'nın altında Düğümleri ve Bulutları Yönet'i seçin.

  3. Menüden Yeni Düğüm'e tıklayın.

  4. Düğüm Adı için bir değer girin.

  5. Kalıcı Aracı'ya tıklayın.

  6. Tamam seçeneğini işaretleyin.

  7. Aşağıdaki alanların değerleri belirtin:

    • Ad: Yeni Jenkins yüklemesinde bir aracıyı tanımlayan benzersiz bir ad belirtin. Bu değer aracı ana bilgisayar adından farklı olabilir. Ancak, bunları iki değeri aynı yapmak uygundur. Ad değerine aşağıdaki listeden herhangi bir özel karaktere izin verilir: ?*/\%!@#$^&|<>[]:;.

    • Uzak kök dizin: Bir aracının Jenkins'e ayrılmış bir dizini olması gerekir. Aracıda bu dizinin yolunu belirtin. Veya c:\jenkinsgibi /home/azureuser/work mutlak bir yol kullanmak en iyisidir. Bu, aracı makinesinin yerel yolu olmalıdır. Bu yolun ana şablondan görünmesine gerek yoktur. ./jenkins-agent gibi göreli bir yol kullanırsanız yol, Launch yöntemi tarafından sağlanan çalışma dizinine göre olacaktır.

    • Etiketler: Etiketler, ilgili aracıları tek bir mantıksal grupta gruplandırmak için kullanılır. Örneğin, Linux'un Ubuntu dağıtımını UBUNTU çalıştıran tüm aracılarınız için bir etiketi tanımlayabilirsiniz.

    • Başlatma yöntemi: Uzak Jenkins düğümünü başlatmak için iki seçenek vardır: Aracıları SSH aracılığıyla başlatma ve Ana sunucuda komutunu yürütme yoluyla aracıyı başlatma:

      • SSH aracılığıyla aracıları başlatma: Aşağıdaki alanların değerlerini belirtin:

        • Konak: VM genel IP adresi veya etki alanı adı. Örneğin 123.123.123.123 veya example.com

        • Kimlik bilgileri: Uzak konakta oturum açmak için kullanılacak kimlik bilgilerini seçin. Yeni bir kimlik bilgisi tanımlamak için Ekle düğmesini ve ardından yeni kimlik bilgilerini oluşturduktan sonra seçebilirsiniz.

        • Konak Anahtarı Doğrulama Stratejisi: Jenkins'in bağlanırken uzak ana bilgisayar tarafından sunulan SSH anahtarını nasıl doğrulayacağını denetler.

        Node configuration example specifying a launch method of Launch agents via SSH.

      • Ana bilgisayarda komutunun yürütülmesi yoluyla aracıyı başlatın:

        • dosyasını adresinden agent.jarhttps://<your_jenkins_host_name>/jnlpJars/agent.jarindirin. Örneğin, https://localhost:8443/jnlpJars/agent.jar.

        • Sanal makinenize yükleme agent.jar

        • Jenkins'i komutuyla ssh <node_host> java -jar <remote_agentjar_path>başlatın. Örneğin, 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. Kaydet'i seçin.

Yapılandırmaları tanımladıktan sonra Jenkins sanal makineyi yeni bir iş düğümü olarak ekler.

Example of virtual machine as new work node

Jenkins içinde iş oluşturma

  1. Menüden Yeni Öğe'yi seçin.

  2. Ad olarak girin demoproject1 .

  3. Serbest stilde proje’yi seçin.

  4. Tamam seçeneğini işaretleyin.

  5. General (Genel) sekmesinde Restrict where project can be run (Projenin nerede çalıştırılabileceğini kısıtla) öğesini seçip Label Expression (Etiket İfadesi) alanına ubuntu yazın. Etiketin bir önceki adımda oluşturulan buluta yapılandırması tarafında sunulduğunu onaylayan bir ileti göreceksiniz.

    Setting up a new Jenkins job

  6. Source Code Management (Kaynak Kod Yönetimi) sekmesinde Git'i seçin ve Repository URL (Depo URL'si) alanına şu URL'yi yazın: https://github.com/spring-projects/spring-petclinic.git

  7. Build (Derleme) sekmesinde Add build step (Derleme adımı ekle) ve ardından Invoke top-level Maven targets (Üst düzey Maven hedeflerini çağır) öğesini seçin. Goals (Hedefler) alanına package yazın.

  8. Kaydet'i seçin.

Yeni işi Azure VM aracısında derleme

  1. Önceki adımda oluşturduğunuz işi seçin.

  2. Şimdi derle'yi seçin. Yeni bir derleme kuyruğa alınır, ancak Azure aboneliğinizde bir aracı VM oluşturulana kadar başlatılmaz.

  3. Derleme tamamlandıktan sonra Konsol çıktısı’na gidin. Derlemenin Azure aracısı üzerinde uzaktan gerçekleştirildiğini görürsünüz.

    Console output

Sonraki adımlar