Подтвердить что ты не робот

Передача переменной из оболочки script в jenkins

Я запускаю оболочку script от Jenkins. Эти скрипты получают дату и экспортируют ее как переменную среды $DATE. Мне нужно использовать эту $DATE внутри той же работы Дженкинса. Я сделал работу в качестве сборки параметров. Создал строковый параметр как значение DATE как DATE = $DATE. Но это не работает.

Пожалуйста, предложите!!

4b9b3361

Ответ 1

Вы отмечаете, что экспортируете переменную среды DATE в оболочке script, которая, предположительно, запускается с помощью шага "Выполнять оболочку".

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

Вместо этого вы можете использовать плагин EnvInject для экспорта переменных среды во время сборки. Переменные, созданные с помощью этого плагина, будут доступны для всех последующих этапов сборки.

Например, вы можете написать DATE в поле свойств на одном этапе сборки:

echo DATE=$(date +%Y-%m-%d) > env.properties

Затем вы можете добавить шаг сборки "Внедрить переменные среды для своей работы" и ввести env.properties в поле "Путь к файлу свойств среды".

Таким образом, переменная DATE (и все остальное в этом файле свойств) будет экспортирована и будет видна для остальных шагов сборки.