Как настроить переменную среды программно в Jenkins/Hudson?
У меня два сценария на этапе предварительной сборки в задании Дженкинса, первый - perl script, второй - система groovy script с использованием плагина groovy. Мне нужна информация из первого perl script в моем втором groovy script. Я думаю, что лучшим способом было бы установить некоторую переменную среды, и было интересно, как это можно реализовать.
Или любой другой лучший способ.
Спасибо за ваше время.
Ответы
Ответ 1
Способ распространения переменных среды среди шагов сборки осуществляется через EnvInject Plugin.
Вот несколько предыдущих ответов, которые показывают, как это сделать:
В вашем случае, однако, может быть проще просто записать файл в один шаг сборки и прочитать этот файл в другом. Чтобы убедиться, что вы случайно не прочитали из предыдущей версии файла, вы можете включить BUILD_ID
в имя файла.
Ответ 2
Используя EnvInject Plugin из конфигурации заданий, вы должны использовать Inject environment variables to the build process / Evaluated Groovy script
.
В зависимости от настройки вы можете выполнить команду Groovy
или shell
и сохранить ее на карте, содержащей переменные среды:
Пример
Получив результат команды с помощью метода execute
:
return [DATE: 'date'.execute().text]
или с эквивалентом Groovy
, если таковой существует:
return [DATE: new Date()]