web-dev-qa-db-fra.com

Jenkins - Comment réserver un exécuteur pour un ou des travaux spécifiques

Nous avons un serveur Jenkins avec 8 exécuteurs et 20 emplois. Il faut environ 2 heures pour terminer 15 de ces tâches et 15 minutes pour les 5 autres. J'aimerais réserver un exécuteur (ou deux) pour exécuter ces 5 petits travaux uniquement et limiter l'exécution d'autres travaux aux autres exécuteurs. Note: Je n'ai aucun esclave, seulement 8 exécuteurs sur le processus maître Jenkins.

Je suis nouveau à Jenkins, alors je me demande si je peux le faire de quelque manière que ce soit. Je vous remercie.

8
Kiddo

Si je comprends bien, Kiddo utilise le maître pour 8 exécuteurs. Ce que vous pouvez faire est d’ajouter un nouvel esclave qui fonctionne sur le maître, appelons-le esclave-maître. C'est à dire. Vous aurez maître avec 6 exécuteurs dont l'utilisation est configurée pour utiliser le plus possible, puis maître-esclave dont l'utilisation est limitée aux versions abrégées. Donc, sur votre serveur, vous aurez deux tâches jenkins en cours d'exécution, l'une est le maître jenkins lui-même, et l'autre est le maître esclave. 

Pour plus d'informations sur la connexion des esclaves, allez à https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds

1
Jon S

En ajoutant à la réponse @StephenKing, vous devez également specify the label name for each job lors de la configuration, comme indiqué dans l'image ci-dessous:

 enter image description here

1
Arpit

Dans la configuration esclave, vous pouvez définir Usage mode sur Construire uniquement les travaux avec des expressions d'étiquette correspondant à ce noeud .

Ensuite, seuls les travaux correspondant à une étiquette donnée (par exemple, job-group-whatever) seront exécutés sur cet esclave.

 enter image description here

0
StephenKing

Je suis un peu en retard, mais je pense qu'il serait beaucoup plus facile de limiter le nombre de tâches "lentes" simultanées pouvant être exécutées que d'essayer de réserver des exécuteurs. C’est simple à faire avec le plugin Lockable Resources: https://wiki.jenkins.io/display/JENKINS/Lockable+Resources+Plugin

Ajoutez simplement autant de ressources que le nombre de travaux lents que vous souhaitez autoriser (6 ou 7) et attribuez-leur la même étiquette. Modifiez les configurations de travail pour verrouiller une ressource (par libellé avec la quantité 1) avant son exécution. Si toutes les ressources sont déjà verrouillées, le travail attendra que l'une d'elles soit libérée.

0
dcendents