Introduction
Jenkins peut exécuter des builds sur différents nœuds. Les étiquettes (labels) décrivent les capacités d'un nœud, comme linux-build, et les jobs peuvent exiger une étiquette correspondante avant que Jenkins ne les planifie. Jenkins stocke également les installations d'outils, tels que Git, afin que les jobs et les plugins puissent faire référence à un outil nommé au lieu de dépendre d'un chemin codé en dur.
Dans ce laboratoire, vous utiliserez le tableau de bord Jenkins pour examiner le nœud intégré, ajouter une étiquette de nœud, configurer un outil Git local, créer un job Freestyle restreint à cette étiquette et confirmer le résultat du build.
Ouvrir la page du nœud intégré
Dans cette étape, vous allez localiser le nœud Jenkins intégré dans le tableau de bord. Un nœud est un emplacement où Jenkins peut exécuter des builds. Ce laboratoire utilise le nœud intégré car il est déjà en ligne dans le contrôleur Jenkins de LabEx.
Ouvrez l'interface de bureau. Firefox ouvre Jenkins automatiquement. Si ce n'est pas le cas, ouvrez http://localhost:8080.
Depuis le tableau de bord Jenkins :
Cliquez sur Manage Jenkins dans la barre latérale gauche, puis cliquez sur Nodes. Ouvrez le nœud nommé Built-In Node.
La page du nœud doit afficher le statut du nœud intégré ainsi que des options de navigation telles que Configure et Build History.

Exécutez cette commande dans le terminal pour enregistrer que la page du nœud intégré est accessible :
curl -fsS http://localhost:8080/computer/%28built-in%29/ | grep -o 'Built-In Node' | head -1 | tee /home/labex/project/built-in-node-page.txt
Vous devriez voir :
Built-In Node
Ajouter une étiquette au nœud intégré
Dans cette étape, vous allez ajouter l'étiquette linux-build au nœud intégré. Une étiquette est une balise de planification. Les jobs qui nécessitent linux-build ne peuvent s'exécuter que sur les nœuds possédant cette étiquette.
Sur la page Built-In Node, cliquez sur Configure.
Recherchez le champ Labels et saisissez :
linux-build
Cliquez sur Save.
Après l'enregistrement, Jenkins revient à la page du nœud intégré. La page doit maintenant afficher l'étiquette linux-build.

Configurer un outil Git local
Dans cette étape, vous allez enregistrer un outil Git Jenkins nommé Local Git. La configuration des outils permet à Jenkins de faire référence à une installation nommée au lieu de deviner quel exécutable utiliser.
Depuis le tableau de bord Jenkins :
Cliquez sur Manage Jenkins, puis cliquez sur Tools.
Faites défiler jusqu'à la section Git installations. Si une installation Git existe déjà, mettez à jour la première. Si la section ne contient aucune installation, cliquez sur Add Git.
Remplissez l'installation Git avec ces valeurs :
Name:Local GitPath to Git executable:git
Cliquez sur Save.
Jenkins stocke cette définition d'outil dans la configuration de son contrôleur.

Exécutez cette commande pour inspecter la configuration de l'outil Git enregistrée :
docker exec jenkins sh -lc "grep -n -E '<name>Local Git</name>|<home>git</home>' /var/jenkins_home/hudson.plugins.git.GitTool.xml" | tee /home/labex/project/git-tool-lines.txt
La sortie doit inclure à la fois le nom de l'outil et le chemin de l'exécutable :
...<name>Local Git</name>
...<home>git</home>
Créer un job restreint à l'étiquette
Dans cette étape, vous allez créer un job Freestyle nommé labeled-tool-demo. Le job sera restreint aux nœuds possédant l'étiquette linux-build, de sorte que Jenkins devra le planifier sur le nœud intégré étiqueté.
Depuis le tableau de bord Jenkins :
Cliquez sur New Item, saisissez labeled-tool-demo, sélectionnez Freestyle project, puis cliquez sur OK.
Sur la page de configuration :
Sélectionnez Restrict where this project can be run. Dans Label Expression, saisissez :
linux-build
Faites défiler jusqu'à Build Steps, cliquez sur Add build step, puis sélectionnez Execute shell.
Saisissez ce script shell :
echo "Running on label: linux-build"
git --version
echo "Local Git is available to this build"
Cliquez sur Save.
La page du job devrait s'ouvrir après l'enregistrement.

Exécutez cette commande pour enregistrer les paramètres importants du job enregistré :
docker exec jenkins sh -lc "grep -n -E '<assignedNode>linux-build</assignedNode>|Running on label: linux-build|git --version' /var/jenkins_home/jobs/labeled-tool-demo/config.xml" | tee /home/labex/project/labeled-job-config.txt
Exécuter le job étiqueté
Dans cette étape, vous allez exécuter le job et lire la sortie de la console. Cela prouve que Jenkins a bien pris en compte la restriction d'étiquette et que le build peut exécuter Git depuis l'environnement configuré.
Sur la page du job labeled-tool-demo, cliquez sur Build Now.
Lorsque le build #1 apparaît dans l'historique des builds, ouvrez-le et cliquez sur Console Output. La console doit afficher le message de l'étiquette, une ligne git version et Finished: SUCCESS.

Exécutez cette commande dans le terminal pour enregistrer la même preuve de console pour vérification :
curl -fsS http://localhost:8080/job/labeled-tool-demo/1/consoleText | grep -E 'Running on label|git version|Finished: SUCCESS' | tee /home/labex/project/labeled-job-console.txt
Vous devriez voir une sortie comme celle-ci :
Running on label: linux-build
git version ...
Finished: SUCCESS
Résumé
Vous avez examiné le nœud Jenkins intégré, ajouté une étiquette linux-build depuis le tableau de bord, configuré un outil Git local nommé, créé un job Freestyle restreint à cette étiquette et vérifié le succès du résultat du build.