Självstudie: Använda Azure Container Instances som jenkins-byggaragent
Viktigt
Många Azure-tjänster har Jenkins-plugin-program. Vissa av dessa plugin-program kommer att ha stöd för dem från och med 29 februari 2024. Azure CLI är det för närvarande rekommenderade sättet att integrera Jenkins med Azure-tjänster. Mer information finns i artikeln Jenkins-plugin-program för Azure.
Azure Container Instances (ACI) tillhandahåller en miljö på begäran, burstable och isolerad för att köra arbetsbelastningar i containrar. På grund av dessa attribut är ACI en bra plattform för att köra Jenkins-byggjobb i stor skala. Den här artikeln visar hur du distribuerar en ACI och lägger till den som en permanent byggaragent för en Jenkins-kontrollant.
Mer information om Azure Container Instances finns i Om Azure Container Instances.
Förutsättningar
- Azure-prenumeration:Om du inte har en Azure-prenumeration kan du skapa ett kostnadsfritt Azure-konto innan du börjar.
- Jenkins-server:Om du inte har en Jenkins-server installerad skapar du en Jenkins-server på Azure.
Förbereda Jenkins-kontrollanten
Bläddra till Jenkins-portalen.
I menyn väljer du Hantera Jenkins.
Under Systemkonfigurationväljer du Konfigurera system.
Kontrollera att Jenkins-URL:en är inställd på HTTP-adressen för Jenkins-installationen – .
I menyn väljer du Hantera Jenkins.
Under Säkerhetväljer du Konfigurera global säkerhet.
Under Agenteranger du Fast port och anger lämpligt portnummer för din miljö.
Konfigurationsexempel:

Välj Spara.
Skapa Jenkins-arbetsagent
Bläddra till Jenkins-portalen.
I menyn väljer du Hantera Jenkins.
Under Systemkonfigurationväljer du Hantera noder och moln.
Välj Ny nod på menyn.
Ange ett värde för Nodnamn.
Välj Permanent agent.
Välj OK.
Ange ett värde för Fjärrrotkatalog. Till exempel
/home/jenkins/workLägg till en Etikett med värdet .
Ange Launch method (Starta metod) till Launch agent by connecting to the master (Starta agenten genom att ansluta till huvudagenten).
Kontrollera att alla obligatoriska fält har angetts eller angetts:

Välj Spara.
På agentstatussidan bör du se
JENKINS_SECRETochAGENT_NAME. Följande skärmbild visar hur du identifierar värdena. Båda värdena behövs när du skapar Azure Container Instance.
Skapa Azure Container Instance med CLI
Använd az group create för att skapa en Azure-resursgrupp.
az group create --name my-resourcegroup --location westusAnvänd az container create för att skapa och Azure Container Instance. Ersätt platshållarna med de värden som erhölls när du skapade arbetsagenten.
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>"Ersätt
http://jenkinsserver:port, och med<JENKINS_SECRET><AGENT_NAME>jenkins-kontrollanten och agentinformationen. När containern startar ansluts den till Jenkins-styrenhetsservern automatiskt.Gå tillbaka till Jenkins-instrumentpanelen och kontrollera agentstatusen.

Anteckning
Jenkins-agenter ansluter till kontrollanten via port
5000och ser till att porten tillåts inkommande till Jenkins-styrenheten.
Skapa ett byggjobb
Nu skapas ett Jenkins-byggjobb för att demonstrera Jenkins-byggen på en Azure-containerinstans.
Välj Nytt objekt,ge byggprojektet ett namn, till exempel aci-demo,välj Freestyle-projektoch välj OK.

Under Allmäntser du till att Begränsa var det här projektet kan köras har valts. Ange linux som etikettuttryck. Den här konfigurationen säkerställer att det här byggjobbet körs i ACI-molnet.

Under Build(Bygg) väljer du Add build step (Lägg till byggsteg) och väljer Execute Shell ( Kör gränssnitt). Ange
echo "aci-demo"som kommando.
Välj Spara.
Köra byggjobbet
Om du vill testa byggjobbet och observera Azure Container Instances starta ett bygge manuellt.
Välj Skapa nu för att starta ett byggjobb. När jobbet startar visas en status som liknar följande bild:

Klicka på version nr 1 i Build History (Bygghistorik).

Välj Konsolutdata för att visa build-utdata.
