【发布时间】:2017-06-22 09:10:00
【问题描述】:
jenkins 管道中的 agent 和 node 有什么区别?
我找到了这些定义:
- Node:管道在一个或多个声明的节点步骤的上下文中执行大部分工作。
- Agent:agent 指令指定整个 Pipeline 或特定阶段在 Jenkins 环境中的执行位置,具体取决于 agent 指令的放置位置。
因此两者都用于执行管道步骤。但是什么时候用哪一个呢?
【问题讨论】:
jenkins 管道中的 agent 和 node 有什么区别?
我找到了这些定义:
因此两者都用于执行管道步骤。但是什么时候用哪一个呢?
【问题讨论】:
简单的答案是,Agent 适用于 declarative 管道,node 适用于 scripted 管道。
在声明式管道中,agent 指令用于指定要在哪个代理/从属设备上执行作业/任务。该指令只允许你指定任务将在哪里执行,代理、从属、标签或 docker 映像。
另一方面,在脚本化管道中,node 步骤可用于在特定代理、标签、从属设备上执行脚本/步骤。 node 步骤可选地采用代理或标签名称,然后是带有要在该节点上执行的代码的闭包。
声明式和脚本式管道(根据评论进行编辑):
【讨论】:
node、agent和slave三个名字!