【问题标题】:Jenkins agent as variable at the stage level in Jenkins pipelineJenkins 代理作为 Jenkins 管道中阶段级别的变量
【发布时间】:2019-08-01 22:06:24
【问题描述】:

我有多个 Jenkins 工作节点和一个声明式 jenkins 管道。 我想在每个阶段创建一个选择参数,以便允许工作节点选择。这可能吗?

在管道顶层我有:

pipeline {
        agent { label 'node1||node2' }

...

我知道代理也可以在阶段级别指定:

stage("Test") {

          agent {label "node1"}
...
}

但我想要这样的东西:

stage('Test') {
            agent { label  
                parameters {
                 choice choices: ['node1', 'node2'], description:  name: 'jenkins_worker' 
                           } 
             }
}

从语法的角度来看这可能吗?

【问题讨论】:

    标签: jenkins jenkins-pipeline


    【解决方案1】:

    将代理声明为参数:

    
    pipeline {
            agent { label parameters.AGENT }
    ...
    

    在阶段覆盖它:

    stage('Test') {
         AGENT="node1"
      }
    

    【讨论】:

      最近更新 更多