Jenkins Pipeline:代理是否需要使用Jenkinsfile?

时间:2017-06-14 13:20:31

标签: jenkins jenkins-pipeline agent

我正在研究使用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分配一个   管道的执行者和工作空间。

提前感谢任何詹金斯的指导!

2 个答案:

答案 0 :(得分:1)

' agent'管道的一部分是必需的,但这并不意味着除了你的主人之外你还需要一个外部代理。如果你拥有的只是master,那么这个管道将在master上执行。如果您有其他可用的代理程序,那么当您运行管道时,管道将在任何可用的代理程序上执行。

答案 1 :(得分:0)

如果您进入 在管理Jenkins->管理节点和云中,您可以看到“主节点”本身被视为默认节点之一。用声明性格式agent any表示任何可用的代理(包括节点配置中的“主”,也请参见下文)。

enter image description here

如果您配置了任何新节点,则可以将其视为管道agent any中的新代理,可以将其替换为agent 'Node_Name'

您可以参考此LINK,它简要介绍了代理,节点和从属。