jenkinspipe道:代理vs节点?

代理和jenkinspipe道中的节点之间有什么区别?

我find了这些定义:

  • 节点 :Pipeline执行的大部分工作都是在一个或多个声明的节点步骤的上下文中完成的。
  • agent :代理指令指定整个Pipeline或特定的阶段将在Jenkins环境中执行的位置,取决于代理指令的位置。

所以两者都用于执行stream水线步骤。 但是什么时候用哪一个?

简单的答案是, Agent用于声明式pipe道, 节点用于脚本pipe道。

在声明式pipe道中, agent指令用于指定要执行的作业/任务的代理/从属。 该指令仅允许您指定要执行任务的位置,代理,从属,标签或泊坞窗图像。

另一方面,在脚本pipe道中, 节点步骤可用于在特定代理,标签,从站上执行脚本/步骤。 节点步骤可选地使用代理或标签名称,然后使用将在该节点上执行的代码的闭包。

声明和脚本(基于评论编辑):

  • 声明性stream水线是stream水线DSL的一个新的扩展(它基本上是一个只有一个步骤的stream水线脚本,一个带有参数的stream水线步骤(称为指令),这些指令应该遵循一个特定的语法。这种新格式的要点是对于那些新的stream水线来说更严格,因此应该更容易,允许进行graphics编辑等等。
  • 脚本pipe道是高级需求的后备。