Zelfstudie: Azure Container Instances gebruiken als jenkins-buildagent

Belangrijk

Veel Azure-services hebben Jenkins-invoegtoepassingen. Sommige van deze invoegtoepassingen worden vanaf 29 februari 2024 niet meer ondersteund. Azure CLI is momenteel de aanbevolen manier om Jenkins te integreren met Azure-services. Raadpleeg het artikel Jenkins-invoegtoepassingen voor Azure voor meer informatie.

Azure Container Instances (ACI) biedt een on-demand, burstable en geïsoleerde omgeving voor het uitvoeren van containerworkloads. Vanwege deze kenmerken is ACI een geweldig platform voor het uitvoeren van Jenkins-buildtaken op grote schaal. In dit artikel leest u hoe u een ACI implementeert en toevoegt als een permanente buildagent voor een Jenkins-controller.

Zie Over Azure Container Instances voor meer informatie over Azure Container Instances.

Vereisten

De Jenkins-controller voorbereiden

  1. Blader naar uw Jenkins-portal.

  2. Selecteer Jenkins beheren in het menu.

  3. Selecteer Onder Systeemconfiguratie de optie Systeem configureren.

  4. Controleer of de Jenkins-URL is ingesteld op het HTTP-adres van uw Jenkins-installatie - http://<your_host>.<your_domain>:8080/.

  5. Selecteer Jenkins beheren in het menu.

  6. Selecteer Onder Beveiliging de optie Globale beveiliging configureren.

  7. Geef onder Agents vaste poort op en voer het juiste poortnummer voor uw omgeving in.

    Configuratievoorbeeld: Configure TCP port

  8. Selecteer Opslaan.

Jenkins-werkagent maken

  1. Blader naar uw Jenkins-portal.

  2. Selecteer Jenkins beheren in het menu.

  3. Selecteer Onder Systeemconfiguratie de optie Knooppunten en clouds beheren.

  4. Selecteer nieuw knooppunt in het menu.

  5. Voer een waarde in voor de naam van het knooppunt.

  6. Selecteer Permanente agent.

  7. Selecteer OK.

  8. Voer een waarde in voor de externe hoofdmap. Bijvoorbeeld /home/jenkins/work

  9. Een label toevoegen (labels worden gebruikt om meerdere agents te groeperen in één logische groep. Een voorbeeld van een label is linux om uw Linux-agents te groeperen.) met de waarde van linux.

  10. Stel de startmethode in op De agent starten door verbinding te maken met de master.

  11. Controleer of alle vereiste velden zijn opgegeven of ingevoerd:

    Example Jenkins agent configuration

  12. Selecteer Opslaan.

  13. Op de pagina status van de agent ziet u de JENKINS_SECRET en AGENT_NAME. In de volgende schermafbeelding ziet u hoe u de waarden kunt identificeren. Beide waarden zijn nodig wanneer u de Azure Container Instance maakt.

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

Azure Container Instance maken met CLI

  1. Gebruik az group create om een Azure-resourcegroep te maken.

    az group create --name my-resourcegroup --location westus
    
  2. Gebruik az container create om een Azure Container Instance te maken. Vervang de tijdelijke aanduidingen door de waarden die zijn verkregen bij het maken van de werkagent.

    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>"
    

    Vervang , <JENKINS_SECRET>en <AGENT_NAME> door http://jenkinsserver:portuw Jenkins-controller- en agentgegevens. Nadat de container is gestart, wordt automatisch verbinding gemaakt met de Jenkins-controllerserver.

  3. Ga terug naar het Jenkins-dashboard en controleer de status van de agent.

    Agent has started successfully

    Notitie

    Jenkins-agents maken via poort 5000verbinding met de controller, zorg ervoor dat de poort binnenkomend naar de Jenkins-controller is toegestaan.

Een buildtaak maken

Er wordt nu een Jenkins-buildtaak gemaakt om Jenkins te demonstreren op een Azure-containerinstantie.

  1. Selecteer Nieuw item, geef het buildproject een naam, zoals aci-demo, selecteer Freestyle-project en selecteer OK.

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

  2. Controleer onder Algemeen of Beperken waar dit project kan worden uitgevoerd , is geselecteerd. Voer Linux in voor de labelexpressie. Deze configuratie zorgt ervoor dat deze buildtaak wordt uitgevoerd in de ACI-cloud.

  3. Selecteer onder Build de optie Build toevoegen en selecteer Execute Shell. Voer echo "aci-demo" de opdracht in.

  4. Selecteer Opslaan.

De buildtaak uitvoeren

Als u de buildtaak wilt testen en azure Container Instances handmatig wilt starten, start u een build.

  1. Selecteer Nu bouwen om een buildtaak te starten. Zodra de taak is gestart, ziet u een status die lijkt op de volgende afbeelding:

  2. Klik op build 1 in de buildgeschiedenis.

  3. Selecteer Console-uitvoer om de uitvoer van de builds weer te geven.

Volgende stappen