jenkins 管道中的代理和节点有什么区别?
我找到了这些定义:
因此两者都用于执行管道步骤。但什么时候使用哪一个呢?
最佳答案
简单的答案是,代理用于声明式管道,节点用于脚本化管道。
在声明式管道中,agent指令用于指定要在哪个代理/从属设备上执行作业/任务。该指令仅允许您指定任务在何处执行,哪个代理、从属、标签或 docker 镜像。
另一方面,在脚本化管道中,节点步骤可用于在特定代理、标签、从属设备上执行脚本/步骤。 节点步骤可以选择采用代理或标签名称,然后使用要在该节点上执行的代码的闭包。
声明式和脚本化管道(根据评论进行编辑):
- declarative pipelines是管道 DSL 的一种新扩展(它基本上是一个只有一个步骤的管道脚本,一个带有参数(称为指令)的管道步骤,这些指令应该遵循特定的语法。这种新格式的要点是它更严格因此对于那些刚接触管道的人来说应该更容易,允许图形编辑等等。
- scripted pipelines是高级要求的后备。
关于 Jenkins 管道: agent vs node?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42050626/