Декларативный конвейер Jenkins 1.3 работает параллельно для всех заданий

Я настроил проект конвейера, аналогичный https://jenkins.io/doc/book/pipeline/syntax/#parallel-stages-example и работает нормально.

Но я создал один и тот же проект для разных заданий, поэтому вместо создания новых заданий я могу запустить цикл for для всех заданий, например. jobs = [job1, job2, job3] и запустите приведенный выше код конвейера для разных заданий.

Что-то похожее на https://jenkins.io/doc/book/pipeline/syntax/#script-example

Можно ли использовать цикл for или аналогичную логику для запуска декларативного конвейера?

Я нашел аналогичный вопрос, но не уверен, как его изменить -a-loop">Можно ли создавать параллельные этапы Jenkins Declarative Pipeline в цикле?


person user2661518    schedule 29.08.2018    source источник
comment
Я пытаюсь добавить в декларативный синтаксис, чтобы я мог добавить это в общую библиотеку   -  person user2661518    schedule 30.08.2018
comment
Is it possible to create parallel Jenkins Declarative Pipeline stages in a loop? Ответ Макса делает это именно так, как вы этого хотите ... Просто скопируйте то же самое и замените [JobA, JobB, JobC] на [job1, job2, job3] ... это будет работать   -  person rohit thomas    schedule 30.08.2018
comment
Вы можете проверить github.com/jenkins-infra/pipeline -library/blob/master/vars/ и получить представление о том, как это делается в самом Jenkins с помощью карты, я попробовал это сам, и у меня появилась странная ошибка, вы можете добиться успеха. Дай мне знать :).   -  person Shlomi Bazel    schedule 30.08.2018
comment
@rohitthomas Если бы я попробовал ответить Максу, разве это не был бы синтаксис Scripted Pipeline? Если я использую метод def, мне придется добавить все декларативные методы в метод def, такие как agent, environment и т. д. Я думал, что вы не можете использовать метод def с синтаксисом 1.3.   -  person user2661518    schedule 30.08.2018
comment
это формат, на который я смотрю jenkins.io/blog/2018/07/02/, не найдя ни одного примера того, как включить цикл for с этим, любые указатели приветствуются   -  person user2661518    schedule 30.08.2018
comment
Где именно вы столкнулись с проблемой ... Я попробовал это на основе формата, который вы хотели, с ответом Макса, он работает нормально, а Declarative построен поверх конвейера Scripted, поэтому def будет работать :)   -  person rohit thomas    schedule 03.09.2018
comment
хм, я подумал, что если мне нужно переместить код в общую библиотеку, то есть в def call { pipeline {}}, у меня не может быть другого метода def,   -  person user2661518    schedule 03.09.2018