2016-06-09 1 views

Répondre

3

Oui, c'est possible. Le "truc" est de démarrer l'agent esclave avec le bon niveau correct déjà; tous les processus de Jenkins fonctionnant sur cet esclave hériteront cela.

Jenkins démarre l'agent esclave via ssh, en cours d'exécution efficacement une commande comme

cd /path/to/slave/root/dir && java -jar slave.jar 

Sur la page de configuration de noeud Jenkins, vous pouvez définir un « préfixe Démarrer esclave de commande » et un « Suffixe Démarrer esclave Commande » à avoir ce gentil-d. Définir comme suit:

  • Prefix Démarrer esclave Commande: nice -n -10 sh -c '
  • Suffixe Démarrer esclave Commande: '

Avec cela, la commande de démarrage esclave devient

nice -n -10 sh -c 'cd "/path/to/slave/root/dir" && java -jar slave.jar' 

Cela suppose que votre shell de connexion est un shell bourne. Pour csh, vous aurez besoin d'une syntaxe différente. Notez également que cela peut échouer si votre chemin racine esclave contient des espaces.

Je préfère généralement "Launch slave via execution of command on the Master", et invoque ssh moi-même à partir d'un wrapper shell. Ensuite, vous pouvez sélectionner le chiffrement et le client de choix, et aussi la précision du réglage peut être faite sans préfixe/Suffixe kludges et sans pièges d'espaces.