Udostępnij przez


Samouczek: skalowanie wdrożeń serwera Jenkins przy użyciu maszyny wirtualnej uruchomionej na platformie Azure

Ważne

Podczas gdy wiele usług platformy Azure ma wtyczki Jenkins, większość z tych wtyczek zakończyła wsparcie od 29 lutego 2024 r. Interfejs wiersza polecenia platformy Azure to obecnie zalecany sposób integracji serwera Jenkins z usługami platformy Azure. Aby uzyskać więcej informacji, zapoznaj się z artykułem wtyczki serwera Jenkins dla usługi Azure.

W tym samouczku pokazano, jak utworzyć maszyny wirtualne z systemem Linux na platformie Azure i dodać maszynę wirtualną jako węzeł roboczy do usługi Jenkins.

W tym samouczku nauczysz się następujących rzeczy:

  • Utwórz maszynę agenta
  • Dodawanie agenta do usługi Jenkins
  • Utwórz nowe zadanie freestyle w narzędziu Jenkins
  • Uruchom zadanie na agencie maszyny wirtualnej na platformie Azure

Wymagania wstępne

Konfiguracja wirtualnej maszyny agenta

  1. Użyj az group create, aby utworzyć grupę zasobów Azure.

    az group create --name <resource_group> --location <location>
    
  2. Użyj az vm create, aby utworzyć maszynę wirtualną.

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

    Kluczowe punkty:

    • Możesz również przekazać klucz SSH za pomocą następującego polecenia --ssh-key-value <ssh_path>.
  3. Zainstaluj zestaw JDK.

    1. Zaloguj się do maszyny wirtualnej przy użyciu narzędzia SSH.

      ssh username@123.123.123.123
      
    2. Zainstaluj zestaw JDK za pomocą narzędzia apt. Można również zainstalować za pomocą innych narzędzi menedżera pakietów, takich jak yum lub pacman.

      sudo apt-get install -y default-jdk
      
    3. Po zakończeniu instalacji uruchom polecenie java -version , aby zweryfikować środowisko Java. Dane wyjściowe będą zawierać numery wersji skojarzone z różnymi częściami zestawu JDK.

Konfigurowanie adresu URL serwera Jenkins

Jeśli używasz protokołu JNLP, musisz skonfigurować adres URL serwera Jenkins.

  1. Z menu wybierz pozycję Zarządzaj usługą Jenkins.

  2. W obszarze Konfiguracja systemu wybierz pozycję Konfiguruj system.

  3. Sprawdź, czy adres URL serwera Jenkins jest ustawiony na adres HTTP instalacji serwera Jenkins — http://<your_host>.<your_domain>:8080/.

  4. Wybierz Zapisz.

Dodawanie agenta do usługi Jenkins

  1. Z menu wybierz pozycję Zarządzaj usługą Jenkins.

  2. W obszarze Konfiguracja systemu wybierz pozycję Zarządzaj węzłami i chmurami.

  3. Z menu wybierz pozycję Nowy węzeł.

  4. Wprowadź wartość w polu Nazwa węzła.

  5. Wybierz pozycję Agent stały.

  6. Kliknij przycisk OK.

  7. Określ wartości dla następujących pól:

    • Nazwa: określ unikatową nazwę identyfikującą agenta w ramach nowej instalacji serwera Jenkins. Ta wartość może być inna niż nazwa hosta agenta. Jednak wygodne jest, aby te dwie wartości były takie same. Wartość nazwy może zawierać dowolny znak specjalny z następującej listy: ?*/\%!@#$^&|<>[]:;.

    • Zdalny katalog główny: agent musi mieć katalog dedykowany serwerowi Jenkins. Określ ścieżkę do tego katalogu w agencie. Najlepiej użyć ścieżki bezwzględnej, takiej jak /home/azureuser/work lub c:\jenkins. Ścieżka ta powinna być lokalna dla maszyny agenta. Nie ma potrzeby, aby ta ścieżka była widoczna z mastera. Jeśli używasz ścieżki względnej, takiej jak ./jenkins-agent, ścieżka będzie względna względem katalogu roboczego dostarczonego przez metodę Launch.

    • Etykiety: etykiety służą do grupowania agentów powiązanych semantycznie w jedną grupę logiczną. Można na przykład zdefiniować etykietę UBUNTU dla wszystkich agentów z dystrybucją Ubuntu systemu Linux.

    • Metoda uruchamiania: istnieją dwie opcje uruchamiania zdalnego węzła Serwera Jenkins: Uruchamianie agentów za pośrednictwem protokołu SSH i Uruchamianie agenta za pomocą wykonywania polecenia na serwerze głównym:

      • Uruchom agentów za pośrednictwem protokołu SSH: określ wartości następujących pól:

        • Host: publiczny adres IP lub nazwa domeny maszyny wirtualnej. Na przykład, 123.123.123.123 lub example.com

        • Poświadczenia: wybierz poświadczenia, które mają być używane do logowania się na hoście zdalnym. Możesz również wybrać przycisk Dodaj , aby zdefiniować nowe poświadczenie, a następnie wybrać nowe poświadczenie po jego utworzeniu.

        • Strategia weryfikacji klucza hosta: określa sposób, w jaki narzędzie Jenkins weryfikuje klucz SSH przedstawiony przez hosta zdalnego podczas nawiązywania połączenia.

        Przykład konfiguracji węzła określający metodę uruchamiania agentów przez SSH.

      • Uruchom agenta za pomocą polecenia na serwerze głównym:

        • Pobierz plik agent.jar z witryny https://<your_jenkins_host_name>/jnlpJars/agent.jar. Na przykład https://localhost:8443/jnlpJars/agent.jar.

        • Prześlij agent.jar do maszyny wirtualnej

        • Uruchom narzędzie Jenkins za pomocą polecenia ssh <node_host> java -jar <remote_agentjar_path>. Na przykład ssh azureuser@99.99.999.9 java -jar /home/azureuser/agent.jar.

        Przykład konfiguracji węzła określający metodę uruchamiania agenta poprzez wykonanie polecenia na węźle głównym.

  8. Wybierz Zapisz.

Po zdefiniowaniu konfiguracji narzędzie Jenkins dodaje maszynę wirtualną jako nowy węzeł roboczy.

Przykład maszyny wirtualnej jako nowego węzła roboczego

Tworzenie zadania w usłudze Jenkins

  1. Z menu wybierz pozycję Nowy element.

  2. Wprowadź demoproject1 jako nazwę.

  3. Wybierz Projekt Freestyle.

  4. Kliknij przycisk OK.

  5. Na karcie Ogólne wybierz opcję Ogranicz miejsce, w którym projekt może być uruchamiany i wpisz ubuntu w Wyrażenie etykiety. Zostanie wyświetlony komunikat potwierdzający, że etykieta jest obsługiwana przez konfigurację chmury utworzoną w poprzednim kroku.

    Konfigurowanie nowego zadania narzędzia Jenkins

  6. Na karcie Zarządzanie kodem źródłowym wybierz pozycję Git i dodaj następujący adres URL do pola Adres URL repozytorium : https://github.com/spring-projects/spring-petclinic.git

  7. Na karcie Kompilacja wybierz pozycję Dodaj krok kompilacji, a następnie pozycję Wywołaj obiekty docelowe narzędzia Maven najwyższego poziomu. Wprowadź package w polu Cele .

  8. Wybierz Zapisz.

Utwórz nowe zadanie na agencie maszyn wirtualnych Azure

  1. Wybierz zadanie utworzone w poprzednim kroku.

  2. Wybierz pozycję Skompiluj teraz. Nowa kompilacja jest w kolejce, ale nie rozpocznie się, dopóki maszyna wirtualna agenta nie zostanie utworzona w subskrypcji Azure.

  3. Po zakończeniu kompilacji przejdź do pozycji Dane wyjściowe konsoli. Zobaczysz, że kompilacja została wykonana zdalnie na agencie platformy Azure.

    Dane wyjściowe konsoli

Dalsze kroki