Как я могу определить несколько агентов в декларативном jenkinsfile? - PullRequest
0 голосов
/ 27 февраля 2019

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

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

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

label "dev6 || dev7"

label "dev6 && dev7"  

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

Спасибо

1 Ответ

0 голосов
/ 27 февраля 2019

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

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