Udostępnij za pośrednictwem


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

Ważne

Wiele usług platformy Azure ma wtyczki Jenkins. Niektóre z tych wtyczek nie będą obsługiwane 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 platformy 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.

Ten samouczek obejmuje następujące kroki:

  • Tworzenie maszyny agenta
  • Dodawanie agenta do usługi Jenkins
  • Tworzenie nowego zadania freestyle usługi Jenkins
  • Uruchamianie zadania na agencie maszyny wirtualnej platformy Azure

Wymagania wstępne

Konfigurowanie maszyny wirtualnej agenta

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

    az group create --name <resource_group> --location <location>
    
  2. Użyj polecenia 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 serwerem 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 pozycję Zapisz.

Dodawanie agenta do usługi Jenkins

  1. Z menu wybierz pozycję Zarządzaj serwerem 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. Wybierz 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. Powinna to być ścieżka lokalna do maszyny agenta. Nie ma potrzeby, aby ta ścieżka była widoczna z wzorca. 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 systemem Ubuntu dystrybucji 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.

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

        • Przekazywanie 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.

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

  8. Wybierz pozycję Zapisz.

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

Example of virtual machine as new work node

Tworzenie zadania w usłudze Jenkins

  1. Z menu wybierz pozycję Nowy element.

  2. Wprowadź demoproject1 nazwę.

  3. Wybierz pozycję Freestyle project (Projekt Freestyle).

  4. Wybierz przycisk OK.

  5. Na karcie General (Ogólne) wybierz opcję Restrict where project can be run (Ogranicz miejsca uruchomienia projektu) i wpisz ubuntu w polu Label Expression (Wyrażenie etykiety). Zostanie wyświetlony komunikat potwierdzający, że etykieta jest obsługiwana przez konfigurację chmury utworzoną w poprzednim kroku.

    Setting up a new Jenkins job

  6. Na karcie Source Code Management (Zarządzanie kodem źródłowym) wybierz pozycję Git i dodaj następujący adres URL w polu Repository URL (Adres URL repozytorium): https://github.com/spring-projects/spring-petclinic.git

  7. Na karcie Build (Kompilacja) wybierz pozycję Add build step (Dodaj krok kompilacji), a następnie pozycję Invoke top-level Maven targets (Wywołaj elementy docelowe najwyższego poziomu narzędzia Maven). Wprowadź package w polu Goals (Cele).

  8. Wybierz pozycję Zapisz.

Tworzenie nowego zadania na agencie maszyny wirtualnej platformy Azure

  1. Wybierz zadanie utworzone w poprzednim kroku.

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

  3. Po ukończeniu kompilacji przejdź do obszaru Console output (Dane wyjściowe konsoli). Będzie widać, że kompilacja została wykonana zdalnie na agencie platformy Azure.

    Console output

Następne kroki