Zelfstudie: Jenkins-implementaties schalen met VM die wordt uitgevoerd in Azure
Belangrijk
Veel Azure-services hebben Jenkins-in plug-ins. Sommige van deze in plug-ins worden vanaf 29 februari 2024 niet meer ondersteund. Azure CLI is de momenteel aanbevolen manier om Jenkins te integreren met Azure-services. Raadpleeg het artikel Jenkins-in plug-ins voor Azure voor meer informatie.
Deze zelfstudie laat zien hoe u een virtuele Linux-machine maakt in Azure en de VM als een werk knooppunt toevoegt aan Jenkins.
In deze zelfstudie leert u het volgende:
- Agentmachine maken
- Agent toevoegen aan Jenkins
- Een nieuwe Jenkins-freestyle-taak maken
- De taak uitvoeren in een Azure VM-agent
Vereisten
- Jenkins-installatie:als u geen toegang hebt tot een Jenkins-installatie, configureert u Jenkins met behulp van Azure CLI
Virtuele agentmachine configureren
Gebruik az group create om een Azure-resourcegroep te maken.
az group create --name <resource_group> --location <location>Gebruik az vm create om een virtuele machine te maken.
az vm create --resource-group <resource-group> --name <vm_name> --image UbuntuLTS --admin-username azureuser --admin-password "<password>"Belangrijkste punten:
- U kunt uw ssh-sleutel ook uploaden met de volgende opdracht
--ssh-key-value <ssh_path>.
- U kunt uw ssh-sleutel ook uploaden met de volgende opdracht
Installeer de JDK.
Meld u aan bij de virtuele machine met behulp van een SSH-hulpprogramma.
ssh username@123.123.123.123Installeer de JDK met apt. U kunt ook installeren met andere hulpprogramma's voor pakketbeheer, zoals yum of pacman.
sudo apt-get install -y default-jdkNadat de installatie is voltooid, voer uit om
java -versionde Java-omgeving te controleren. De uitvoer bevat de versienummers die zijn gekoppeld aan verschillende onderdelen van de JDK.
Jenkins-URL configureren
Als u JNLP gebruikt, moet u de Jenkins-URL configureren.
Selecteer Jenkins beheren in het menu.
Selecteer onder Systeemconfiguratiede optie Systeem configureren.
Controleer of de Jenkins-URL is ingesteld op het HTTP-adres van uw Jenkins-installatie - .
Selecteer Opslaan.
Agent toevoegen aan Jenkins
Selecteer Jenkins beheren in het menu.
Selecteer onder Systeemconfiguratiede optie Knooppunten en clouds beheren.
Selecteer nieuw knooppunt in het menu.
Voer een waarde in voor Knooppuntnaam.
Selecteer Permanente agent.
Selecteer OK.
Geef waarden op voor de volgende velden:
Naam:geef een unieke naam op die een agent binnen de nieuwe Jenkins-installatie identificeert. Deze waarde kan verschillen van de hostnaam van de agent. Het is echter handig om ze de twee waarden hetzelfde te maken. De naamwaarde mag elk speciaal teken uit de volgende lijst:
?*/\%!@#$^&|<>[]:;.Externe hoofdmap:een agent moet een map hebben die is toegewezen aan Jenkins. Geef het pad naar deze map op de agent op. U kunt het beste een absoluut pad gebruiken, zoals
/home/azureuser/workofc:\jenkins. Dit moet een lokaal pad naar de agentmachine zijn. Het is niet nodig dat dit pad zichtbaar is vanuit de master. Als u een relatief pad gebruikt, zoals ./jenkins-agent, is het pad relatief ten opzichte van de werkmap die wordt geleverd door de methode Launch.Labels:labels worden gebruikt om semantisch gerelateerde agents te groepen in één logische groep. U kunt bijvoorbeeld een label van definiëren voor al uw agents die
UBUNTUde Ubuntu-distributie van Linux uitvoeren.Methode Launch:Er zijn twee opties om het externe Jenkins-knooppunt te starten: Agents starten via SSH en Agent starten via de uitvoering van de opdracht op de master:
Agents starten via SSH:geef de waarden voor de volgende velden op:
Host:openbaar IP-adres of domeinnaam van de VM. Bijvoorbeeld
123.123.123.123ofexample.comReferenties:selecteer een referentie die moet worden gebruikt om u aan te melden bij de externe host. U kunt ook de knop Toevoegen selecteren om een nieuwe referentie te definiëren en vervolgens die nieuwe referentie selecteren zodra deze is aan het maken.
Verificatiestrategie voor hostsleutels:hiermee bepaalt u hoe Jenkins de SSH-sleutel verifieert die door de externe host wordt gepresenteerd tijdens het maken van verbinding.

Start de agent via de uitvoering van de opdracht op de master:
Download de
agent.jarvanhttps://<your_jenkins_host_name>/jnlpJars/agent.jar. Bijvoorbeeldhttps://localhost:8443/jnlpJars/agent.jar.Upload
agent.jarvirtuele machine makenStart Jenkins met de opdracht
ssh <node_host> java -jar <remote_agentjar_path>. Bijvoorbeeldssh azureuser@99.99.999.9 java -jar /home/azureuser/agent.jar.

Selecteer Opslaan.
Nadat u de configuraties hebt definieert, voegt Jenkins de virtuele machine toe als een nieuw werk knooppunt.

Een taak maken in Jenkins
Selecteer nieuw item in het menu.
Voer
demoproject1in als naam.Selecteer Freestyle-project.
Selecteer OK.
Schakel op het tabblad Algemeen het selectievakje Beperken waar dit project kan worden uitgevoerd in en typ in het vak Labelexpressie. U ziet een bevestigingsbericht dat het label wordt bediend door de cloudconfiguratie die in de vorige stap is gemaakt.

Selecteer Git in het tabblad Broncodebeheer en voeg de volgende URL toe in het veld URL van opslagplaats:
In het tabblad Compileren selecteert u Compilatiestap toevoegen en vervolgens Top-level Maven-doelstellingen aanroepen. Voer
packagein het veldpackagein.Selecteer Opslaan.
De nieuwe taak in een Azure VM-agent bouwen
Selecteer de taak die u in de vorige stap hebt gemaakt.
Selecteer Nu bouwen. Een nieuwe build wordt in de wachtrij geplaatst, maar begint pas als er een agent-VM is gemaakt in uw Azure-abonnement.
Zodra de bewerking is voltooid, gaat u naar Console Output. U ziet dat de bewerking op afstand is uitgevoerd in een Azure-agent.
