我如何在声明性詹金斯菲尔(Jenkinsfile)中定义多个代理



在我的jenkinsfile中,我希望一个特定的阶段并行在两个代理上运行。例如:

stage('abc'){
  agent {
    label "dev6" && "dev7"
  }
  steps {
    xyz()
  }
}

我有两个带有标签DEV6和DEV7的奴隶。我希望XYZ()同时在代理Dev6和Dev7上同时启动。正确的方法是什么?我需要平行块吗?从上面的代码中,它只是在DEV6或DEV7之一上启动功能。我尝试了

label "dev6 || dev7"
label "dev6 && dev7"  

,但它可以工作。有人可以帮忙吗?

谢谢

您需要在阶段级别上并行并行,实际上,您希望它在单独的代理上两次运行。除非我误解了你。

pipeline {
    agent none
    stages {
        stage('Test') {
            parallel {
                stage('Test On dev6') {
                    agent {
                        label "dev6"
                    }
                    steps {
                        xyz()
                    }
                }
                stage('Test On dev7') {
                    agent {
                        label "dev7"
                    }
                    steps {
                        xyz()
                    }
                }
            }
        }
    }

最新更新