我正在研究使用Jenkins Pipeline(特别是使用Jenkinsfile)。我实现的上下文是我正在使用Chef部署Jenkins实例。部署此部署可能包括一些种子作业,这些作业将从源代码控制(Jenkinsfile)中提取作业配置,以通过Chef自动创建构建作业。
我已经调查了Pipeline以及Jenkinsfile的Jenkins文档,在我看来,为了使用Jenkins Pipeline,除了需要配置和设置代理之外詹金斯大师。
我是否理解正确?为了使用Jenkins Pipeline的Jenkinsfile,必须存在Jenkins代理吗? Jenkinsfile文档中的这一特定行让我相信这是真的:
Jenkinsfile (Declarative Pipeline)
pipeline {
agent any
stages {
stage('Build') {
steps {
echo 'Building..'
}
}
stage('Test') {
steps {
echo 'Testing..'
}
}
stage('Deploy') {
steps {
echo 'Deploying....'
}
}
}
}
上面的声明性管道示例包含必要的最小值 实现连续交付管道的结构。中介 指令,这是必需的,指示Jenkins分配一个 管道的执行者和工作空间。
提前感谢任何詹金斯的指导!
答案 0 :(得分:1)
' agent
'管道的一部分是必需的,但这并不意味着除了你的主人之外你还需要一个外部代理。如果你拥有的只是master,那么这个管道将在master上执行。如果您有其他可用的代理程序,那么当您运行管道时,管道将在任何可用的代理程序上执行。
答案 1 :(得分:0)
如果您进入
在管理Jenkins->管理节点和云中,您可以看到“主节点”本身被视为默认节点之一。用声明性格式agent any
表示任何可用的代理(包括节点配置中的“主”,也请参见下文)。
如果您配置了任何新节点,则可以将其视为管道agent any
中的新代理,可以将其替换为agent 'Node_Name'
您可以参考此LINK,它简要介绍了代理,节点和从属。