Как я могу определить несколько агентов в декларативном jenkinsfile?

В моем Jenkinsfile я хочу, чтобы определенный этап выполнялся на обоих агентах параллельно. Например:

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

У меня есть два раба с меткой dev6 и dev7. Я хочу, чтобы xyz() запускался одновременно на агентах dev6 и dev7 одновременно. Как правильно это сделать? Мне нужен параллельный блок? из приведенного выше кода он просто запускает функции на одном из dev6 или dev7. Я пробовал с

label "dev6 || dev7"

label "dev6 && dev7"  

но это работает. Может кто-нибудь помочь??

Спасибо

1 ответ

Решение

Вам нужно параллельно на уровне этапов, причина в том, что на самом деле вы хотите, чтобы это запускалось дважды на отдельных агентах. Если я не понял тебя.

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()
                    }
                }
            }
        }
    }
Другие вопросы по тегам