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

Önemli

Birçok Azure hizmeti Jenkins eklentilerine sahip. Bu eklentilerin bazıları 29 Şubat 2024'te destek olmayacaktır. Azure CLI, Jenkins'i Azure hizmetleriyle tümleştirin şu anda önerilen yoldur. 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 ile ilgili bilgi ve öğreticiler yer alır.

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 kullanın.

    az group create --name <resource_group> --location <location>
    
  2. Sanal makine oluşturmak için az vm create 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 da karşıya --ssh-key-value <ssh_path> yükleyebilirsiniz.
  3. JDK'yi yükleyin.

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

      ssh username@123.123.123.123
      
    2. JDK'yi apt ile 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 -version Java ortamını doğrulamak için çalıştırın. Çı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ırmaniz gerekir.

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

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

  3. Jenkins URL'sinin Jenkins yüklemenizin HTTP adresine ayar olduğunu doğrulayın - .

  4. Kaydet’i seçin.

Jenkins'e aracı ekleme

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

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

  3. Menüden Yeni Düğüm'i seçin.

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

  5. Kalıcı Aracı'ı seçin.

  6. Tamam’ı seçin.

  7. Aşağıdaki alanlar için değerleri belirtin:

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

    • Uzak kök dizin:Bir aracı, Jenkins'e ayrılmış bir dizine sahip olmalıdır. Aracıda bu dizinin yolunu belirtin. en iyisi veya gibi mutlak bir yol /home/azureuser/workc:\jenkins kullanmaktır. Bu, aracı makinesine yerel bir yol olması gerekir. Bu yolun ana dosyadan görünür olmasına gerek yoktur. ./jenkins-agent gibi bir göreli yol kullanırsanız, yol Launch yöntemi tarafından sağlanan çalışma dizinine göre olur.

    • Etiketler:Etiketler, semantantik olarak ilişkili aracıları tek bir mantıksal grupta grup etmek için kullanılır. Örneğin, Linux'un Ubuntu dağıtımı UBUNTU çalıştıran tüm aracılar 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 düğümde komutun yürütülmesi yoluyla aracıyı başlatma:

      • SSH aracılığıyla aracılarıbaşlatma: Aşağıdaki alanlar için değerleri belirtin:

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

        • Kimlik Bilgileri:Uzak konakta oturum açmak için kullanılacak kimlik bilgilerini seçin. Ayrıca Ekle düğmesini seçerek yeni bir kimlik bilgisi tanımlayabilir ve ardından bu yeni kimlik bilgilerini oluşturdukten sonra da kullanabilirsiniz.

        • Ana Bilgisayar Anahtarı DoğrulamaStratejisi: Jenkins'in bağlanırken uzak ana bilgisayar tarafından sunulan SSH anahtarını nasıl doğrular olduğunu kontrol eder.

        SSH aracılığıyla aracıları başlatma yöntemini belirten düğüm yapılandırma örneği.

      • Ana komutta komutunun yürütülmesiyle aracıyı başlatma:

        • 'den agent.jarhttps://<your_jenkins_host_name>/jnlpJars/agent.jar indirin. Örneğin, https://localhost:8443/jnlpJars/agent.jar.

        • Upload agent.jar makinenize bağlantı

        • Jenkins'i komutuyla ssh <node_host> java -jar <remote_agentjar_path> başlatma. Örneğin, ssh azureuser@99.99.999.9 java -jar /home/azureuser/agent.jar.

        Ana düğümde komutun yürütülmesi yoluyla Aracıyı başlatma yöntemini belirten düğüm yapılandırma örneği.

  8. Kaydet’i seçin.

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

Yeni iş düğümü olarak sanal makine örneği

Jenkins içinde iş oluşturma

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

  2. Ad demoproject1 olarak girin.

  3. Freestyle project’i (Serbest stil projesi) seçin.

  4. Tamam’ı seçin.

  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 yazın. Etiketin bir önceki adımda oluşturulan buluta yapılandırması tarafında sunulduğunu onaylayan bir ileti göreceksiniz.

    Yeni bir Jenkins işi ayarlama

  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:

  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. package (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 derleme'yi seçin. Yeni bir derleme kuyruğa alınsa da, Azure aboneliğinize aracı VM oluşturulana kadar başlamaz.

  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.

    Konsol çıktısı

Sonraki adımlar