Есть ли способ связать два разных конвейера, используя jenkinsfile? - PullRequest
0 голосов
/ 27 сентября 2019

Группе разработчиков требуется, чтобы конвейер можно было запускать только в том случае, если завершен другой связанный конвейер, и им нужно представление конвейера на той же странице.

Это что-то вроде этого, набор этапов завершен и следующийэтапы начинаются, когда менеджер проекта запускает конвейер вручную.

Просто им нужно визуализировать оба конвейера на одной странице, как показано на рисунке ниже.

(https://puppet.com/sites/default/files/2016-09/puppet_continuous_diagram.gif)

Ответы [ 2 ]

0 голосов
/ 28 сентября 2019

Вы можете использовать шаг build job: '<first_pipeline>', parameters: [...], скажем, этап 1 вашего второго конвейера, в качестве вышестоящего задания.Затем определите шаги вашего второго конвейера, начиная со стадии 2 и далее.Это гарантирует, что первый конвейер всегда создается при запуске второго, а также работает с представлением конвейера доставки для визуализации одной страницы.

Или, если вы просто хотите проверить, завершен ли первый конвейер без фактическогозапустив его, используйте API <jenkins_url>/job/<first_pipeline>/lastBuild/api/json на этапе 1 вашего второго конвейера с циклом while, чтобы дождаться, пока статус не будет «завершен».

0 голосов
/ 27 сентября 2019

Я не слышал о способе их связывания, но вы могли бы написать шаги в одном и том же конвейере.

Вы можете работать с input steps, чтобы запросить менеджера проекта.чтобы подтвердить.Обратите внимание, что это останавливает весь процессор сборки до подтверждения (или если вы установите тайм-аут).

Возможно, вы также захотите взглянуть на условных шагов.

...