Samouczek: używanie usługi Azure Container Instances jako agenta kompilacji serwera Jenkins

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.

Usługa Azure Container Instances (ACI) udostępnia środowisko na żądanie, które można zwiększać izolowane na potrzeby uruchamiania konteneryzowanych obciążeń. Ze względu na te atrybuty usługa ACI doskonale nadaje się do uruchamiania zadań kompilacji serwera Jenkins na dużą skalę. W tym artykule przedstawiono sposób wdrażania interfejsu ACI i dodawania go jako stałego agenta kompilacji dla kontrolera Jenkins.

Aby uzyskać więcej informacji na temat usługi Azure Container Instances, zobacz About Azure Container Instances (Informacje o usłudze Azure Container Instances).

Wymagania wstępne

Przygotowywanie kontrolera Jenkins

  1. Przejdź do portalu usługi Jenkins.

  2. Z menu wybierz pozycję Zarządzaj serwerem Jenkins.

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

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

  5. Z menu wybierz pozycję Zarządzaj serwerem Jenkins.

  6. W obszarze Zabezpieczenia wybierz pozycję Konfiguruj zabezpieczenia globalne.

  7. W obszarze Agenci określ stały port i wprowadź odpowiedni numer portu dla danego środowiska.

    Przykład konfiguracji: Configure TCP port

  8. Wybierz pozycję Zapisz.

Tworzenie agenta roboczego usługi Jenkins

  1. Przejdź do portalu usługi Jenkins.

  2. Z menu wybierz pozycję Zarządzaj serwerem Jenkins.

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

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

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

  6. Wybierz pozycję Agent stały.

  7. Wybierz przycisk OK.

  8. Wprowadź wartość katalogu głównego zdalnego. Na przykład /home/jenkins/work

  9. Dodaj etykietę (etykiety służą do grupowania wielu agentów w jednej grupie logicznej). Przykładem etykiety jest linux zgrupowanie agentów systemu Linux z wartością linux.

  10. Ustaw pozycję Launch method (Uruchom metodę ) na Launch agent (Uruchamianie agenta), łącząc się z serwerem głównym.

  11. Sprawdź, czy wszystkie wymagane pola zostały określone lub wprowadzone:

    Example Jenkins agent configuration

  12. Wybierz pozycję Zapisz.

  13. Na stronie stan agenta powinny zostać wyświetlone wartości JENKINS_SECRET i AGENT_NAME. Poniższy zrzut ekranu przedstawia sposób identyfikowania wartości. Obie wartości są potrzebne podczas tworzenia wystąpienia kontenera platformy Azure.

    The build-agent secret is displays after its successful creation.

Tworzenie wystąpienia kontenera platformy Azure za pomocą interfejsu wiersza polecenia

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

    az group create --name my-resourcegroup --location westus
    
  2. Użyj polecenia az container create , aby utworzyć wystąpienie kontenera platformy Azure. Zastąp symbole zastępcze wartościami uzyskanymi podczas tworzenia agenta roboczego.

    az container create \
      --name my-dock \
      --resource-group my-resourcegroup \
      --ip-address Public --image jenkins/inbound-agent:latest \
      --os-type linux \
      --ports 80 \
      --command-line "jenkins-agent -url http://jenkinsserver:port <JENKINS_SECRET> <AGENT_NAME>"
    

    Zastąp http://jenkinsserver:portwartości , <JENKINS_SECRET>i <AGENT_NAME> informacjami o kontrolerze i agencie serwera Jenkins. Po uruchomieniu kontenera zostanie automatycznie nawiązane połączenie z serwerem kontrolera serwera Jenkins.

  3. Wróć do pulpitu nawigacyjnego narzędzia Jenkins i sprawdź stan agenta.

    Agent has started successfully

    Uwaga

    Agenci serwera Jenkins łączą się z kontrolerem za pośrednictwem portu 5000, upewnij się, że port jest dozwolony dla ruchu przychodzącego do kontrolera serwera Jenkins.

Tworzenie zadania kompilacji

Teraz tworzone jest zadanie kompilacji serwera Jenkins w celu zademonstrowania kompilacji serwera Jenkins w wystąpieniu kontenera platformy Azure.

  1. Wybierz pozycję Nowy element, nadaj projektowi kompilacji nazwę, taką jak aci-demo, wybierz pozycję Projekt Freestyle i wybierz przycisk OK.

    Box for the name of the build job, and list of project types

  2. W obszarze Ogólne upewnij się, że wybrano opcję Ogranicz miejsce, w którym można uruchomić ten projekt. Wprowadź ciąg linux dla wyrażenia etykiety. Ta konfiguracja zapewnia, że to zadanie kompilacji jest uruchamiane w chmurze ACI.

  3. W obszarze Kompilacja wybierz pozycję Dodaj krok kompilacji i wybierz pozycję Wykonaj powłokę. Wprowadź echo "aci-demo" jako polecenie.

  4. Wybierz pozycję Zapisz.

Uruchamianie zadania kompilacji

Aby przetestować zadanie kompilacji i obserwować, jak usługa Azure Container Instances ręcznie uruchom kompilację.

  1. Wybierz pozycję Kompiluj teraz , aby rozpocząć zadanie kompilacji. Po uruchomieniu zadania zobaczysz stan podobny do poniższego obrazu:

  2. Kliknij pozycję build #1 w historii kompilacji.

  3. Wybierz pozycję Dane wyjściowe konsoli, aby wyświetlić dane wyjściowe kompilacji.

Następne kroki