100 votes

Jenkins n'exécute pas les tâches (en attente - en attente du prochain exécuteur)

Jenkins ne lancera aucun job. Après avoir consulté cette question, j'ai désactivé tous les nœuds esclaves mais même un simple job ne se lance pas sur le nœud principal.

Qu'est-ce qui ne va pas?

99voto

Michael Easter Points 7482

La console d'administration de Jenkins peut s'exécuter même si le nœud Maître est hors ligne. Cela peut se produire lorsque Jenkins manque d'espace disque.

Pour confirmer, faites ce qui suit (avec remerciements à geekride - jenkins-pending-waiting-for-next-available-exécutant) :

  • allez sur Jenkins -> Gérer Jenkins -> Gérer les nœuds
  • examinez le nœud "maître" pour voir s'il est hors ligne. Il se peut qu'il signale que le nœud maître est à court d'espace disque.

24 votes

Un problème similaire m'est arrivé. Le problème était que j'ai lancé plusieurs tâches et mon nombre d'exécuteurs était de 2 (par défaut). Ainsi, les autres tâches sont passées à l'état d'attente. J'ai augmenté le nombre d'exécuteurs et depuis cela fonctionne correctement.

0 votes

Oui, c'était le problème.

1 votes

La solution n°2 de la réponse marquée ici a résolu le problème pour moi : stackoverflow.com/questions/23445457/…

44voto

PAVITRA Points 75
  • aller à Jenkins -> Gérer Jenkins -> Gérer les nœuds
  • examiner le nœud "master". (Cliquez sur l'icône de configuration)

Dans mon cas, le nombre d'executors était réglé sur 0. Je l'ai augmenté et le problème a été résolu.

1 votes

Je viens de découvrir à mes dépens que le nombre d'exécuteurs doit être d'au moins 2. Si votre pipeline de construction exécute d'autres commandes de construction, vous aurez besoin de deux exécuteurs : un pour le pipeline, un pour la commande de construction.

1 votes

Merci, cela m'a beaucoup aidé, quelqu'un avait changé cette valeur et j'étais bloqué !

23voto

eversMcc Points 656

Dans mon cas, j'avais le paramètre suivant dans mon JenkinsFile

node('node'){ ... }

Il n'y avait aucun nœud appelé 'node', seulement master (la valeur avait été laissée là après avoir suivi quelques tutoriels de base). Changer la valeur en 'master' a permis au build de fonctionner.

0 votes

Ah merci pour cela, j'utilisais en effet un nœud qui n'existe pas! S'il y a une faute de frappe dans le nom du nœud, il restera bloqué pour toujours!

10voto

Fenix Points 1449

Dans mon cas, cela a été causé par un nombre d'exécutants (j'en avais 1) et en exécutant le Job Jenkins (Projet) depuis le Pipeline (mon script de pipeline a démarré un autre Job dans Jenkins). Cela a causé un deadlock - mon pipeline a retenu l'exécutant et attendait son travail, mais le travail attendait un exécutant libre.

La solution peut être d'augmenter le # d'exécutants dans Jenkins -> Gérer Jenkins -> Gérer les nœuds -> Configurer (icône sur le nœud requis).

6voto

user3442998 Points 75

J'ai rencontré un problème similaire car mon maître était défini sur "Laisser cette machine pour les jobs liés uniquement." Ainsi, même si j'ai désactivé l'esclave, Jenkins continuait à contourner le maître, cherchant autre chose.

Allez dans Jenkins --> Gérer Jenkins --> Gérer les nœuds, et cliquez sur le bouton de configuration de votre nœud maître (ressemble à un tournevis et une clé). Vérifiez l'Utilisation et assurez-vous qu'elle est sur "Utiliser cet esclave autant que possible".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X