Ajout d'un agent Jenkins sous Windows

Le jeudi 18 décembre 2014 par Benjamin Boudoir

Avoir un agent Jenkins sous Windows, c'est pas de la tarte. Surtout si on a besoin de le lancer au démarrage tout en ayant une GUI (donc, pas de daemon) et avec une version de Java trop vieille.

Récupérer l'agent JNPL

Bon, ça, c'est la partie facile, il se récupère sur l'admin de Jenkins : http://jenkins/computer/$COMPUTER/slave-agent.jnlp

Réparer l'agent

Vous avez Java 7 ou plus ? Quel dommage, il y a de nombreuses chances que votre agent ne marche pas (ça sera peut-être corrigé dans une release future ceci dit), on va donc corriger ça dans le fichier jnlp en remplaçant :

<j2se version="1.5+"/>

Par

<j2se version="1.6*"/>

Et voilà, ça marche mieux.

Démarrage automatique

Un script bat suffit, rangez-le dans le dossier de démarrage (C:\Users\$USER\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\jenkins_start.bat) :

@echo off
Echo "Jenkins slave automated launcher"
set jdkhome=C:\Program Files\Java\jre6

"%jdkhome%\bin\javaws.exe" C:\Users\jenkins\slave-agent.jnlp

Je vous laisse adapter selon votre conf.

Et pour ajouter la connexion automatique, on commence par utiliser la commande "ntplwiz", qui ouvre le menu avancé de la gestion des utilisateurs. Ensuite :
  • Décochez "Les utilisateurs doivent entrer un nom d'utilisateur et un mot de passe pour utiliser cet ordinateur"
  • Ok
  • Entrez les crédentials de l'utilisateur qui fera les tests
  • Ok