代理人在詹金斯意味着什么?

时间:2017-12-05 10:45:58

标签: jenkins

我正在尝试使用詹金斯。但是当我阅读声明性流水线语法时,我对“代理人”(https://jenkins.io/doc/book/pipeline/syntax/#scripted-pipeline)感到困惑。

  1. 代理代表什么?
  2. 这是否意味着我可以设置管道运行时文件夹路径?
  3. 如何创建代理?
  4. 如何为代理商设置标签?

3 个答案:

答案 0 :(得分:6)

我能感觉到你:-D。 以下是答案:

  1. 代理部分指定整个管道或特定阶段在Jenkins环境中的执行位置,具体取决于代理部分的放置位置。必须在管道块内的顶层定义该部分,但阶段级使用是可选的。 (https://jenkins.io/doc/book/pipeline/syntax/#agent

  2. 否这与管道运行时文件夹路径无关。

  3. 您可以通过以下教程创建代理/节点: https://devopscube.com/setup-slaves-on-jenkins-2/ 但是还有许多其他方法来创建代理,例如使用Docker-Container(...)。

  4. 您可以在节点配置下设置标签。 您可以在管道中使用标签,如:

    pipeline {
    agent { label 'labelName' }
    (...)
    }
    

答案 1 :(得分:0)

@adbo

你能同意/不同意吗?

代理{label' my-defined-label'}

所以'我定义的标签'是节点名称吗?

答案 2 :(得分:0)

虽然@adbo涵盖了所问的问题,但詹金斯glossary确实很好地描述了经纪人:

通常为计算机容器,该计算机连接到Jenkins控制器并在控制器指导下执行任务

您可以选择在任何可用的代理程序上运行整个管道(在管道顶部的agent any上),或在所选代理程序上运行特定的阶段,例如在该阶段通过覆盖代理在特定环境中运行构建阶段:

agent { docker { image 'my image' } }