Трубопровод Дженкинс, нижестоящая работа и метка агента - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть конвейер Jenkins, который выполняет задание A и задание B. У меня есть 10 агентов / узлов, на которых выполняется задание A.Если я указываю Agent1, когда я строю конвейер, то задание A должно выполняться на Agent1.

Проблема: конвейер работает на Agent1, а JobA запускается на любом произвольно доступном агенте.

Сценарий:

pipeline { agent none stages { stage('JOB A') { agent { label "${machine}" } steps { build job: 'JOB A', parameters: [a,b,c,d,e,f] } } stage('JOB B') { agent { label 'xyz' } steps { build job: 'JOB B', parameters: [a,b,c,d,e,f,] } } } }

Я использую разные метки для каждого агента.

Может кто-нибудь помочь мне понять, как и где выполняются конвейерные и последующие задания?

Спасибо!

1 Ответ

0 голосов
/ 06 декабря 2018

Как справедливо указывает @yong, я «указал метку агента для рабочей области, а не для JOB A».

Поэтому я объявил параметр метки в JOB A и передал его ниже по потоку через конвейер.Теперь он корректно выполняется на указанном агенте.

pipeline {
agent { label 'master' }
stages {
    stage('JOB A') {
        steps {
            build job: 'JOB A', parameters: [a, [$class: 'LabelParameterValue', name: 'Agent', label: "${Agent}" ], b, c, d]
        }
        }
    stage('JOB B') {
        steps {
            build job: 'JOB B', parameters: [x,y,z]
        }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...