Êtes-vous à court d’exécuteurs Jenkins ou bloqués en attente de travaux en file d’attente pour vos travaux Jenkins Windows ? Si c’est le cas, vous devez configurer davantage d’agents Jenkins.
Dans ce tutoriel, vous apprendrez comment ajouter un nœud Windows agent Jenkins pour répondre à un besoin croissant en ressources dans votre environnement de construction logicielle!
Prérequis
Pour suivre cet article, vous aurez besoin des éléments suivants.
- Installation fonctionnelle d’un contrôleur Jenkins égal ou supérieur à 2.176.1, et dans cet article, le contrôleur est appelé le nœud maître.
- Installation de tout système d’exploitation Windows pris en charge, qui sera appelé le nœud agent Jenkins.
Qu’est-ce que sont les agents Jenkins et le contrôleur d’agent Jenkins?
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.
Les agents Jenkins s’exécutent sur divers environnements tels que des machines physiques, des machines virtuelles, des clusters Kubernetes, et des images Docker. Un agent Jenkins est un exécutable, résidant sur un nœud, chargé par le contrôleur d’exécuter un travail.
La gestion des différents agents Jenkins est le travail du contrôleur d’agent, également connu sous le nom de nœud maître. Dans une configuration à nœud unique de Jenkins, le contrôleur peut également agir à la fois comme un agent Jenkins et exécuter des tâches de construction. À mesure que les environnements deviennent plus complexes, cette configuration devient limitante.
Empêcher le nœud maître du contrôleur de lancer des tâches
Avant de pouvoir ajouter un agent Jenkins supplémentaire, vous devez d’abord supprimer le nœud maître du contrôleur de la file d’agents de construction. En retirant le nœud maître de cette file, vous vous assurez que le contrôleur dispose de ressources adéquates pour coordonner les tâches de construction. Vous suivrez ci-dessous les paramètres nécessaires pour empêcher le nœud maître de lancer une tâche.
- Naviguez vers l’interface utilisateur Jenkins via un navigateur. Dans ce tutoriel, le contrôleur Jenkins utilise l’adresse
192.168.x.x:8080
.

2. Une fois le tableau de bord Jenkins apparaît, cliquez sur le lien Gérer Jenkins.

3. Ensuite, cliquez sur le lien Configurer le système depuis la section Configuration du système.

4. Faites défiler la page pour localiser le paramètre, # de processeurs, et définissez la valeur sur 0
. Ce paramètre force le nœud maître, ou contrôleur, à ne pas exécuter de tâches de construction.

0
.5. Sur la même page, localisez l’URL de Jenkins Jenkins URL. Changez l’URL pour l’adresse IP et le port utilisés dans le navigateur, au lieu de localhost:8080
.
Un nœud agent peut tenter d’utiliser
localhost
au lieu de l’IP appropriée lors de la communication avec le contrôleur, s’il est incorrectement configuré. Avec l’adresse IP appropriée configurée, vous pouvez éviter les problèmes de communication futurs des agents !

6. Cliquez sur Enregistrer pour confirmer et appliquer les paramètres mis à jour.
Configuration du port TCP pour les agents entrants
Pour informer les nœuds agents Windows Jenkins sur la meilleure façon de lancer le service de travail et de communiquer avec le contrôleur, vous devez configurer les paramètres du port TCP entrant. La définition des paramètres du port TCP entrant garantit que l’agent Jenkins sait comment se connecter au contrôleur Jenkins via le réseau.
- Une fois de plus, accédez à la page de configuration Gérer Jenkins depuis le tableau de bord Jenkins.
2. Comme indiqué ci-dessous, cliquez sur la section Configurer la sécurité globale pour localiser les options de port TCP.

3. Faites défiler vers le bas pour localiser la section Agents et le port TCP pour les agents entrants. Changez l’option de Désactiver à Aleatoire. Avec le paramètre aléatoire, Jenkins sélectionne un numéro de port disponible au hasard et partage ce numéro de port avec un agent lors de leur connexion initiale au port HTTP de Jenkins.

4. Enfin, cliquez sur le bouton Enregistrer pour appliquer le paramètre mis à jour.
Créer un nouveau nœud agent Jenkins sur le contrôleur Jenkins
Avec tous les paramètres appropriés configurés, il est temps de créer votre nouveau nœud agent Jenkins. Avant cela, créez le répertoire de travail sur le nœud Windows. Sur le nœud Windows, créez le répertoire C:\Jenkins.
Une fois que le répertoire de travail a été créé, suivez les étapes ci-dessous pour configurer votre nouveau nœud !
- Depuis le tableau de bord Jenkins, cliquez sur le lien Gérer les nœuds et les clouds.

2. Cliquez sur le lien Nouveau nœud dans le menu de gauche. Avec seulement le contrôleur en tant qu’agent, la liste des nœuds ne montrera initialement que le nœud maître.

3. Entrez un Nom du nœud, qui est MyWindowsAgent1
pour ce tutoriel, mais vous pouvez utiliser un identifiant plus approprié pour votre environnement, et sélectionnez l’option Agent permanent. Avec des agents supplémentaires, vous pouvez également voir une option Copier le nœud existant. Enfin, cliquez sur le bouton Ok.

4. Configurez le nouvel agent avec les paramètres ci-dessous. Les options surlignées en vert sont les paramètres par défaut.
- # d’exécuteurs: Correspond généralement au nombre de cœurs de l’agent. Un extrait de code PowerShell pratique pour trouver cela est ci-dessous.
- Répertoire de travail distant: C:\Jenkins
- Méthode de lancement: Lancer l’agent en le connectant au maître.

Dans un récent article de solutions sur Cloudbees.com, les options de lancement de l’agent ont changé dans les versions après 2.176.1. Le « Lancer l’agent via Web Start » est maintenant « Lancer l’agent en se connectant au maître« .
5. Cliquez sur le bouton Enregistrer et accédez à l’écran de la liste des nœuds où le nouveau nœud de l’agent Jenkins Windows sera affiché.
6. Cliquez sur le nom du nouveau nœud, MyWindowsAgent1
, pour récupérer les liens d’installation de l’agent.

7. Ouvrez maintenant une connexion Bureau à distance (RDP) vers le nœud Windows où l’agent Jenkins sera hébergé.
8. Accédez à http://controllerip:port/computer/nodename
, via un navigateur, sur le futur agent Windows.
9. Cliquez sur le bouton Lancer pour télécharger l’installateur de l’agent et commencer l’installation de l’agent Jenkins.

Étapes suivantes
Il existe de nombreuses façons d’utiliser vos nouveaux agents. Que ce soit l’exécution de scripts PowerShell dans Jenkins ou l’exécution de Jenkins dans Docker, vous constaterez qu’il existe de nombreuses façons d’automatiser votre environnement de construction!