7
votes

Run Jenkins Job immédiatement

J'ai un travail très léger qui doit être exécuté immédiatement lorsqu'il est déclenché, plutôt que d'attendre une heure pour les travaux actuels pour finir.

Si je comprends bien, une tâche fly est ce que je veux. Il créera un exécuteur éphémère, juste pour cette tâche.

Comment puis-je faire fonctionner un emploi comme voleur de vol?


5 commentaires

FirstPoint Pourquoi avez-vous besoin de voler? Existe-t-il des tâches parallèles que vous allez effectuer dans des instances ... Vous avez la possibilité de faire des tâches Flywieght à l'aide de plug-in Workflow ... à nouveau, vous devez l'adapter à vos propres besoins. Si vous expliquez un peu plus profondément, nous pouvons vous aider davantage ..


@Devd, l'objectif final est le titre. Je veux diriger immédiatement un travail de Jenkins sans attendre des emplois existants, ni tuer des emplois existants. Les tâches volées sont juste une idée que j'avais pour la façon dont cela pourrait être fait.


Pour cela, vous pouvez activer les travaux de démarrage des travaux paralel dans la configuration


@Devd, mais cela ne résout pas le problème. Je suis toujours limité par le nombre d'exécuteurs. J'ai des emplois intensifs, longs, puis une tâche très prioritaire très rapide ( Flyweight On pourrait dire). Et je veux savoir comment créer un travail de poids volé. Certes, il a une utilisation; Sinon, cela n'existerait pas.


Toujours le problème existe ... ??


3 Réponses :


0
votes

Afaiu Le problème est que tous vos exécuteurs sont occupés lorsqu'il s'agit d'exécuter ce travail de haute priorité.

Qu'en est-il de:

  • établir un autre nœud esclave; dans une machine virtuelle, par exemple; Avec un nombre approprié d'exécutants, au cas où il y a plus de ces emplois de haute priorité
  • attribution d'une étiquette comme priorité haute à ce nouveau noeud
  • restreindre où ce travail de priorité élevée peut être exécuté à cet étiquette priorité haut
  • Attribution d'une étiquette comme à tous les autres nœuds
  • restreindre où tous les autres travaux peuvent être exécutés à cet étiquette

    Une autre possibilité est de:

    • Configurez le nouveau noeud Utilisation: uniquement Créer des travaux avec des restrictions d'étiquettes correspondant à ce nœud
    • restreindre lorsque le travail de haute priorité peut être exécuté au nouveau nœud

      Cela évite d'avoir à créer et à attribuer des étiquettes à tous les travaux, comme mentionné ci-dessus, mais est moins flexible pour les futurs adaptations et extensions.


2 commentaires

Cela nécessite-t-il une nouvelle machine / vm?


@Pauldraper oui, ça fait.



0
votes

Essayez ce Plugin FlyWeightProject . C'est une extension du type freestyle qui fonctionne en poids mouche.


0 commentaires

2
votes

J'ai récemment eu le même problème. Ma société a beaucoup de projets Jenkins et certains ont plus de priorité sur d'autres, et nous limitons le nombre d'exécutants à seulement 4.

Par conséquent, nous avons décidé de créer des esclaves, au lieu de construire toujours sur le maître. Créez un nœud esclave qui construit uniquement votre «travail très léger».

aller à Gérer Jenkin -> Gérer les nœuds -> Nouveau nœud -> Esclave Dumb .

puis configurez votre nœud esclave à votre goût. Maintenant, configurez le «travail très léger». Assurez-vous que Cette version est un paramètre est cochée, puis Ajouter un paramètre -> Node . .

Sélectionnez ensuite le nœud esclave que vous venez de créer. Il y a beaucoup de configurations, telles que le nœud que vous souhaitez défaut, mais je pense que vous pouvez personnaliser cela à votre goût.


0 commentaires