需求:当一个代理挂掉的时候,启用备份的代理,以保证编译不会断。 Jenkins版本:Jenkins2.207

失败的案例

//失败案例1: ,
agent { label 'labelname1, labelname2' }
agent { label 'labelname1','labelname2' }

//失败案例2: ||
node('labelname1||labelname2'){}
node {label 'labelname1 || labelname2'}
node {label 'labelname1' || 'labelname2'}

//失败案例3: ;
agent { label 'labelname1;labelname2' }
agent { label 'labelname1';'labelname2' }

//失败案例4: &&
agent { label 'labelname1 && labelname2' }
node {label "labelname1 && labelname2"}

成功的案例

//成功案例1:在两个代理中选择一个运行
  agent {
    node {
     label "labelname1 || labelname2"
    }
  }
//注意:用||时必须用双引号,把其中的||直接替换成&&也会报错,在上述失败案例中有所体现,
//当然jenkins版本不一样,支持的语法也不同,大家可以自行尝试。

//成功案例2:在两个代理上都要运行
  agent {
    node {
     label 'labelname1' && 'labelname2'
    }
  }

另外,每个stage都可以指定代理

stage('Test1') {
  agent { 
          label 'labelname1'
        }
  steps {
          sh './test1.sh'
        }
  post {
          always {
                   junit '**/target/*.xml'
          }
       }
}
stage('Test2') {
  agent {
          label 'labelname2'
         }
  steps {
          sh './test1.sh'
        }
  post {
          always {
                    junit '**/target/*.xml'
                }
          }
}

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐