Могут ли модули groovy получить доступ к глобальным переменным в конвейере развертывания на основе jenkinsfile, и это хорошая идея? - PullRequest
0 голосов
/ 16 апреля 2020

Я работаю с набором конвейеров развертывания на основе Jenkinsfile, где каждый из шагов в конвейере был сгруппирован в библиотеку общих groovy модулей, которые вызываются из основного файла jenkinsfile.

Мне было поручено интегрировать JFrog в некоторые (но не во все) конвейеры разработки.

Я рассматривал возможность установки нескольких глобальных переменных, связанных с JFrog, в jenkinsfile, на которые можно (надеюсь) ссылаться изнутри groovy модулей, чтобы мы могли условно реализовать альтернативные пути в этих модулях для конвейеров, которые нуждаются в интеграции JFrog.

Могут ли groovy модули ссылаться на переменные, определенные в главном файле jenkinsfile? (Предполагая, что это даже хорошая идея, во-первых)

1 Ответ

1 голос
/ 16 апреля 2020

Да, вы можете использовать переменные, созданные в Jenkinsfiles. Вы можете просто использовать def MYVAR или env.MYVAR; они будут доступны из остальных ваших сценариев.

Учитывая ваш вариант использования, это плохая идея - у вас есть несколько файлов Jenkins, т. е. go вы в конечном итоге будете поддерживать конфигурацию, связанную с JFrog, в нескольких местах.

Лучшей альтернативой является создание объекта для этой конфигурации в коде вашей библиотеки - вы все равно можете иметь несколько альтернативных путей, передавая один параметр из файлов Jenkinsfiles.

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