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

问题描述 投票:1回答:1

在我的Jenkinsfile中,我想要一个特定的阶段在两个代理上并行运行。例如:

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

我有两个标签dev6和dev7的奴隶。我希望xyz()同时在代理dev6和dev7上同时启动。这样做的正确方法是什么?我需要并行块吗?从上面的代码中它只是启动dev6或dev7之一的函数。我试过了

label "dev6 || dev7"

label "dev6 && dev7"  

但它不起作用。有人可以帮忙吗?

谢谢

jenkins-pipeline agent jenkins-declarative-pipeline
1个回答
0
投票

您需要在阶段级别上并行,其原因实际上是您希望在不同的代理上运行两次。除非我误解了你。

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()
                    }
                }
            }
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.