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.
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
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.