jenkins管道:代理vs节点?

时间:2017-02-05 09:49:12

标签: jenkins jenkins-pipeline

jenkins管道中的代理商节点之间有什么区别?

我找到了这些定义:

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

因此两者都用于执行管道步骤。但什么时候使用哪一个?

1 个答案:

答案 0 :(得分:104)

简单的答案是,代理用于声明性管道,节点用于脚本管道。

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

另一方面,在脚本管道中,节点步骤可用于在特定代理程序,标签,从属服务器上执行脚本/步骤。 节点步骤可选地获取代理或标签名称,然后使用包含要在该节点上执行的代码的闭包。

声明性和脚本化管道(根据评论进行编辑):

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