首页 文章

jenkins管道:代理与节点?

提问于
浏览
81

jenkins管道中 agentnode 有什么区别?

我找到了那些定义:

  • node:管道执行的大多数工作是在一个或多个声明的节点步骤的上下文中完成的 .

  • agent:代理程序指令指定整个管道或特定阶段在Jenkins环境中的执行位置,具体取决于代理程序指令的放置位置 .

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

1 回答

  • 88

    简单的答案是, Agent 用于 declarative 管道, node 用于 scripted 管道 .

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

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

    declarative and scripted pipelines (edit based on the comment):

    • declarative pipelines 是管道DSL的新扩展(它基本上是一个只有一步的管道脚本,带有参数的管道步骤(称为指令),这些指令应遵循特定的语法 . 这种新格式的要点是它是更严格,因此对于管道新手来说应该更容易,允许图形编辑等等 .

    • scripted pipelines 是高级要求的后备 .

相关问题