如何在声明性 jenkinsfile 中定义多个代理?

How can I define multiple agents in declarative jenkinsfile?

在我的 Jenkinsfile 中,我希望在 parallel.for 示例中的两个代理上 运行 特定阶段:

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()
                    }
                }
            }
        }
    }