jenkins-pipleline:在Jenkinsfile中配置多个代理
需求:当一个代理挂掉的时候,启用备份的代理,以保证编译不会断。 Jenkins版本:Jenkins2.207失败的案例//失败案例1: ,agent { label 'labelname1, labelname2' }agent { label 'labelname1','labelname2' }//失败案例2: ||node('labelname1||labelname2'){}node {l
·
需求:当一个代理挂掉的时候,启用备份的代理,以保证编译不会断。 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'
}
}
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)