diff --git a/HowtoJenkins.md b/HowtoJenkins.md index 94589d99..9b706194 100644 --- a/HowtoJenkins.md +++ b/HowtoJenkins.md @@ -166,3 +166,61 @@ Il faut configurer le ProxyPass avec l'option _nocanon_ comme ceci : ~~~ + +## Agents + +L’exécution des tests ne devrait pas être réalisée sur le nœud intégré, +il faut donc paramétrer des agents, qui seront connectés au contrôleur +dont l’installation vient d’être décrite. +C’est sur ces nœuds que s’exécuterons effectivement les tests. + +### Installation + +D’après le [projet amont](https://www.jenkins.io/doc/book/using/using-agents/#environment), +Java est nécessaire pour faire fonctionner les agents (mais il y a moyen +de s’en passer comme décrit par +[Debian](https://salsa.debian.org/qa/jenkins.debian.net/-/blob/master/INSTALL). + +Docker est pratique aussi pour certaines constructions. + +~~~ +# apt install default-jre-headless docker.io +~~~ + +### Configuration + +Création de l’utilisateur que l’instance principale contactera pour +exécuter les tests. + +~~~ +# adduser --disabled-password jenkins +# sudo addgroup jenkins docker +~~~ + +Ajouter la partie publique de la clef configurée précédemment à +`~jenkins/.ssh/authorized_key`. Il peut être intéressant de vérifier +que l’on arrive bien à se connecter depuis le contrôleur à l’agent +par SSH dès maintenant. + +#### Déclarer l’agent dans le contrôleur + +Le nœud peut maintenant être ajouté depuis l’interface web de Jenkins. + +~~~ +Build Executor Status (en bas à gauche) +> New node (en haut à gauche) + > Node name (configurer un nom explicite, par exemple celui de la machine) + > Type > Permanent Agent + > Create + > Remote root directory > /home/jenkins + > Launch method > Launch agents via SSH + > Host > nom de la machine (FQDN) + > Crédentials > Add + > Kind > SSH Username with private key + > Username > jenkins + > Private key > Enter directly > Add > La clef privée déjà créé sur la machine + > Save +~~~ + +Maintenant que le nœud est créé, il est possible de configurer une forge +contenant les dépôts que l’on souhaite tester.