web-dev-qa-db-fra.com

Comment configurer Jenkins Slave pour qu'il s'exécute en tant que service Windows en ligne de commande?

Je veux créer un esclave jenkins en ligne de commande. Le est un document sur la configuration de jenkins slave en tant que service Windows et j’ai suivi les instructions. Je peux exécuter javaws http://10.121.33.4:8080/computer/Test-Jenkins-Slave-2/slave-agent.jnlp pour connecter l'esclave au maître, mais le problème est qu'il sera déconnecté après le redémarrage de la machine.

Je pense que la meilleure façon de faire est d'installer Esclave en tant que service. Alors, j'ai essayé de suivre les instructions sur cette page. J'ai jenkins Slave installé en tant que service et la clé de registre ajoutée comme ci-dessous.

Propriété du service:
enter image description here

Valeurs de registre:
enter image description hereenter image description here

Je me demande si j'ai mal agi? Le document manque-t-il quelque chose?

9
Anonymous

Le moyen le plus rapide et le plus fiable d'installation de Jenkins Worker/Slave en tant que service consiste à utiliser le point de terminaison "/slave-agent.jnlp" pour télécharger le fichier jnlp, l'exécuter, puis "Fichier" => "Installer en tant que service "dans son interface graphique. 

Ne vous embêtez pas pour modifier le registre, l'installation intégrée rend le processus rapide, facile et répétable.

Disons que vous avez configuré un nœud nommé "ledzeppelin". Sur le poste de travail/esclave ("ledzeppelin"):

  1. Ouvrez un navigateur et entrez l'URL Jenkins du nouveau noeud, et ajoutez "/slave-agent.jnlp" à la fin de celui-ci (par exemple, " http: // jenkins: 8080/computer/computer/ledzeppelin/slave-agent .jnlp ") pour télécharger le fichier jnlp.
  2. Exécutez le fichier slave-agent.jnlp avec les privilèges d’administrateur. (Vous devez peut-être spécifier Java/javaws pour le démarrer avec "Java (TM) Web Start Launcher")
  3. Sélectionnez l'option "Fichier" => "Installer en tant que service" dans l'interface graphique de l'esclave-agent.jnlp.

Une fois le service installé, modifiez les informations d'identification "d'ouverture de session" du service en fonction des besoins de votre installation. Vous devrez peut-être réinitialiser les autorisations ou supprimer des répertoires au sein de l'espace de travail si, lors de l'exécution en mode administrateur, un travail était exécuté et ainsi créé un sous-dossier de l'espace de travail.

12
Robert

il peut être nécessaire de lancer explicitement le service après le démarrage du système. Vous devrez peut-être:

  1. allez dans l'onglet "se connecter" et démarrez le service en tant qu'utilisateur avec des droits d'administrateur sur la machine

ou

  1. Démarrez l’agent jenkins via le planificateur Windows en suivant les instructions suivantes: https://wiki.jenkins-ci.org/display/JENKINS/Launch+Java+Web+Start+slave+agent+via+Windows+Scheduler
0
mac

J'ai pris le 

  • jenkins.exe
  • jenkins.exe.config
  • jenkins.xml

depuis une installation 'maître' de Jenkins. Ensuite, j'ai adapté le XML pour qu'il contienne les paramètres de démarrage de mon esclave. Cela donne quelque chose comme:

<executable>%Java_HOME%\bin\Java.exe</executable>
  <arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "C:\Tools\jenkins_slave\slave_95\agent.jar" -jnlpUrl http://jenkins_master:9090/computer/slave_95/slave-agent.jnlp -secret 999999999999999999999999999999999999999999 -workDir "C:\jenkins_slaves_workdir"</arguments>

Dans le XML, j'ai également: - modifié les champs pour id, nom, description selon mes préférences - suppression du contenu du bloc "extensions"

Après cela, je peux simplement démarrer le service Windows en exécutant un shell d'administrateur sur l'esclave à l'aide de la commande:

sc create <service_name> binpath= "C:\Tools\jenkins_slave\slave_95\Jenkins.exe" start= auto

Ce qui revient en principe au démarrage du service principal de Jenkins.

0
Monger39