Ben je door Jenkins uitvoerders heen of zit je vast te wachten op in de wachtrij staande taken voor je Jenkins Windows taken? Zo ja, dan moet je meer Jenkins-agenten instellen.
In deze handleiding leer je hoe je een Jenkins-agent Windows-knooppunt toevoegt om te voorzien in de steeds groeiende behoefte aan resources in je software-buildomgeving!
Vereisten
Om deze handleiding te volgen, heb je het volgende nodig.
- Een werkende installatie van een Jenkins-controller installatie gelijk aan of groter dan 2.176.1, en in dit artikel wordt de controller aangeduid als het masterknooppunt.
- Een ondersteunde Windows OS-installatie die wordt aangeduid als het Jenkins-agentknooppunt.
Wat zijn Jenkins-agenten en de Jenkins-agentcontroller?
A core component of Jenkins is the job. Jobs are instances of build automation that run a defined set of tasks. Supporting different job configurations requires an automation system to distribute build jobs among different nodes, which is simply an environment containing a Jenkins agent or controller.
Jenkins-agenten draaien op verschillende omgevingen zoals fysieke machines, virtuele machines, Kubernetes-clusters en Docker-images. Een Jenkins-agent is een uitvoerbaar bestand, gevestigd op een knooppunt, dat door de controller wordt belast met het uitvoeren van een taak.
Het beheren van de verschillende Jenkins-agenten is de taak van de agentcontroller, ook wel bekend als de hoofdnode. In een enkele Jenkins-nodeconfiguratie kan de controller ook optreden als zowel een Jenkin-agent als het uitvoeren van buildtaken. Naarmate omgevingen complexer worden, wordt deze configuratie beperkend.
Het voorkomen dat de controller-hoofdnode taken uitvoert
Voordat u een extra Jenkins-agent kunt toevoegen, moet u eerst de hoofdnode uit de pool van buildagenten verwijderen. Door de hoofdnode uit deze pool te verwijderen, wordt ervoor gezorgd dat de controller over voldoende middelen beschikt om buildtaken te coördineren. Hieronder loopt u door de benodigde instellingen om te voorkomen dat de hoofdnode een taak uitvoert.
- Navigeer naar de Jenkins-gebruikersinterface via een browser. In deze handleiding gebruikt de Jenkins-controller het adres
192.168.x.x:8080
.

2. Zodra het Jenkins-dashboard verschijnt, klikt u op de link Beheer Jenkins.

3. Klik vervolgens op de link Configureer systeem binnen de sectie Systeemconfiguratie.

4. Scroll op de pagina naar beneden om de instelling Aantal uitvoerders te vinden en stel de waarde in op 0
. Hiermee wordt de hoofdnode of controller gedwongen om geen enkele buildtaak uit te voeren.

0
.5. Op dezelfde pagina zoekt u de Jenkins-URL. Wijzig de URL naar het IP-adres en de poort zoals gebruikt in de browser, in plaats van localhost:8080
.
Een agent-node kan proberen
localhost
te gebruiken in plaats van het juiste IP-adres bij communicatie met de controller, als het verkeerd is ingesteld. Met het juiste IP-adres geconfigureerd, kun je toekomstige communicatieproblemen van de agent vermijden!

6. Klik op Opslaan om de bijgewerkte instellingen te bevestigen en toe te passen.
Het instellen van de TCP-poort voor inkomende agents
Om Windows Jenkins Agent-nodes te informeren over hoe de job-service het beste kan worden gestart en terug kan communiceren met de controller, moet je de instellingen voor de inkomende TCP-poort configureren. Het definiëren van de instellingen voor de inkomende TCP-poort zorgt ervoor dat de Jenkins-agent weet hoe hij verbinding moet maken met de Jenkins-controller via het netwerk.
- Navigeer opnieuw naar de pagina Beheer Jenkins vanaf het Jenkins-dashboard.
2. Zoals hieronder weergegeven, klik op de sectie Configureer Globale Beveiliging om de TCP-poortopties te vinden.

3. Scroll naar beneden om de sectie Agents en de TCP-poort voor inkomende agents te vinden. Verander de optie van Uitschakelen naar Willekeurig. Met de willekeurige instelling selecteert Jenkins een willekeurig beschikbaar poortnummer en deelt dat poortnummer met een agent tijdens hun initiële verbinding met de Jenkins HTTP-poort.

4. Klik tot slot op de knop Opslaan om de bijgewerkte instelling toe te passen.
Creëer een nieuwe Jenkins Agent-node op de Jenkins-controller
Met alle juiste instellingen geconfigureerd, is het nu tijd om je nieuwe Jenkins Agent-node te maken. Voordat je dit doet, maak je de werkmap aan op de Windows-node. Op de Windows-node maak je de map C:\Jenkins aan.
Zodra de werkmap is aangemaakt, volg dan de onderstaande stappen om je nieuwe node te configureren!
- Vanaf het Jenkins-dashboard, klik op de link Beheer Knopen en Clouds.

2. Klik op de link Nieuwe Node in het menu aan de linkerkant. Met alleen de controller als agent, toont de Nodes-lijst aanvankelijk alleen de master-node.

3. Voer een Nodenaam in, die voor deze tutorial MyWindowsAgent1
is, maar je kunt een meer geschikte identifier voor jouw omgeving gebruiken, en selecteer de optie voor Permanente Agent. Met extra agents zie je mogelijk ook een optie voor Bestaande Node Kopiëren. Klik ten slotte op de knop Ok.

4. Configureer de nieuwe agent met de onderstaande instellingen. De groen gemarkeerde opties zijn standaardinstellingen.
- # of executors: Komt meestal overeen met het aantal agent-cores. Een handige PowerShell-snippet om dat te vinden, staat hieronder.
- Remote Work Directory: C:\Jenkins
- Startmethode: Start agent door het te verbinden met de master.

In een recent oplossingen artikel van Cloudbees.com, zijn de lanceeropties van de agent gewijzigd in versies na 2.176.1. De ” Agent starten via Web Start ” is nu ” Agent starten door verbinding te maken met de master “.
5. Klik op de Opslaan knop en ga naar het scherm met de knooppuntlijst waar de nieuwe Windows Jenkins Agent-knooppunt wordt weergegeven.
6. Klik op de naam van het nieuwe knooppunt, MyWindowsAgent1
, om de koppelingen voor de agentinstallatie op te halen.

7. Open nu een externe desktop (RDP) verbinding met het Windows knooppunt waar de Jenkins-agent zal worden gehost.
8. Ga naar http://controllerip:port/computer/nodename
, via een browser, op het toekomstige Windows-knooppunt.
9. Klik op de Starten knop om de agentinstallateur te downloaden en te beginnen met de Jenkins agent installatie.

Volgende stappen
Er zijn veel manieren om gebruik te maken van je nieuw gevonden agents. Of je nu PowerShell-scripts uitvoert in Jenkins of Jenkins in Docker draait, je zult merken dat er veel manieren zijn om je build-omgeving te automatiseren!