我正在尝试使用詹金斯。但是当我阅读声明性流水线语法时,我对“代理人”(https://jenkins.io/doc/book/pipeline/syntax/#scripted-pipeline)感到困惑。
答案 0 :(得分:6)
我能感觉到你:-D。 以下是答案:
代理部分指定整个管道或特定阶段在Jenkins环境中的执行位置,具体取决于代理部分的放置位置。必须在管道块内的顶层定义该部分,但阶段级使用是可选的。 (https://jenkins.io/doc/book/pipeline/syntax/#agent)
否这与管道运行时文件夹路径无关。
您可以通过以下教程创建代理/节点: https://devopscube.com/setup-slaves-on-jenkins-2/ 但是还有许多其他方法来创建代理,例如使用Docker-Container(...)。
您可以在节点配置下设置标签。 您可以在管道中使用标签,如:
pipeline {
agent { label 'labelName' }
(...)
}
答案 1 :(得分:0)
@adbo
你能同意/不同意吗?
代理{label' my-defined-label'}
所以'我定义的标签'是节点名称吗?
答案 2 :(得分:0)
虽然@adbo涵盖了所问的问题,但詹金斯glossary确实很好地描述了经纪人:
通常为计算机或容器,该计算机连接到Jenkins控制器并在控制器指导下执行任务。
您可以选择在任何可用的代理程序上运行整个管道(在管道顶部的agent any
上),或在所选代理程序上运行特定的阶段,例如在该阶段通过覆盖代理在特定环境中运行构建阶段:
agent { docker { image 'my image' } }