web-dev-qa-db-fra.com

pipeline Jenkins: agent vs noeud?

Quelle est la différence entre un agent et un nœud dans un pipeline jenkins ?

J'ai trouvé ces définitions:

  • nœud : La plupart du travail effectué par un pipeline est effectué dans le contexte d'une ou de plusieurs étapes de nœud déclarées.
  • agent : La directive agent spécifie l'emplacement d'exécution de l'ensemble du pipeline, ou d'une étape spécifique, dans l'environnement Jenkins, en fonction de l'emplacement de la directive agent.

Les deux sont donc utilisés pour exécuter les étapes du pipeline. Mais quand utiliser lequel?

105
Matthias M

La réponse simple est, Agent est pour déclaratif pipelines et noeud est pour scripté pipelines.

Dans les pipelines déclaratifs, la directive agent est utilisée pour spécifier sur quel agent/esclave le travail/la tâche doit être exécuté. Cette directive vous permet uniquement de spécifier où la tâche doit être exécutée, quel agent, esclave, étiquette ou image de menu fixe.

D'autre part, dans les pipelines scriptés, l'étape noeud peut être utilisée pour exécuter un script/une étape sur un agent, une étiquette, un esclave spécifique. L'étape noeud prend éventuellement le nom de l'agent ou du libellé, puis une fermeture avec le code à exécuter sur ce noeud.

pipelines déclaratifs et scriptés (éditer en fonction du commentaire):

  • pipelines déclaratifs est une nouvelle extension du pipeline DSL (il s’agit en fait d’un script de pipeline ne comportant qu’une étape, une étape de pipeline avec des arguments (appelés directives), ces directives devant suivre une syntaxe spécifique. Ce nouveau format est plus strict et devrait donc être plus facile pour ceux qui découvrent les pipelines, permettre l’édition graphique, etc.
  • pipelines scriptés est la solution de secours pour les exigences avancées.
115
Jon S