Используйте специальный агент для всего конвейера, когда условие выполнено - PullRequest
0 голосов
/ 18 марта 2019

Есть декларативный конвейер.В начале конвейерного блока выбор агента осуществляется с помощью директивы agent.Ведется отбор на основе меток.Агент, выбранный таким образом, является стандартным / стандартным агентом.

Как установить для всего конвейера специальный агент, когда выполняется определенное условие?

Планируется выполнить проверку условий на основе одного параметра конвейера.>> может ли это сработать?

На какие точки должен подходить выбранный подход?

Схема текущего решения:

  • Groovy-код до конвейераблок

  • Упомянутый код Groovy устанавливает переменную на основе значения параметра конвейера как получить доступ к параметру конвейера из кода Groovy, расположенного вне конвейера?

  • agent раздел использует набор переменных в Groovy-коде, соответствующий метке, к которой специальный агент был прикреплен

1 Ответ

0 голосов
/ 18 марта 2019

Jenkins.io и Cloudbees не поддерживают динамический выбор агента с синтаксисом декларативного конвейера. Следовательно, добавление выражения «когда» в блоке агента не будет работать. Тем не менее, нижеприведенный подход можно попробовать 1. Создать конвейерную библиотеку - с заводным файлом в папке vars. Сохраните все этапы внутри этого файла и параметризуйте блок «Агент» 2. Jenkinsfile - вставьте библиотеку в Jenkinsfile и вызовите указанный выше groovy-файл, используя синтаксис call (body). Передайте параметр выбора агента из этого файла Jenkinsfile.

Для синтаксиса библиотеки, пожалуйста, обратитесь к этому URL Синтаксис общей библиотеки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...