Как настроить переменную среды программно в 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()]