Как переменные среды используются в Jenkins с пакетной командой Windows?
Я пытаюсь использовать переменные среды Jenkins (Global) в моем сценарии xcopy.
${WORKSPACE} doesn't work
"${WORKSPACE}" doesn't work
'${WORKSPACE}' doesn't work
2 ответа
Я ничего не знаю о Дженкинсе, но похоже, что вы пытаетесь получить доступ к переменным среды, используя некую форму синтаксиса Unix - это не сработает.
Если имя переменной равно WORKSPACE, то значение раскрывается в пакете Windows с помощью%WORKSPACE%
, Эта форма расширения выполняется во время анализа. Например, будет напечатано на экране значение WORKSPACE
echo %WORKSPACE%
Если вам нужно значение во время выполнения, вам нужно использовать отложенное расширение !WORKSPACE!
, Задержка расширения обычно не включена по умолчанию. использование SETLOCAL EnableDelayedExpansion
чтобы включить его. Задержанное расширение часто требуется, потому что блоки кода в скобках анализируются одновременно, поэтому значение, присвоенное в блоке, не может быть прочитано позже в том же блоке, если вы не используете отложенное расширение.
setlocal enableDelayedExpansion
set WORKSPACE=BEFORE
(
set WORKSPACE=AFTER
echo Normal Expansion = %WORKSPACE%
echo Delayed Expansion = !WORKSPACE!
)
Результатом вышесказанного является
Normal Expansion = BEFORE
Delayed Expansion = AFTER
использование HELP SET
или же SET /?
из командной строки, чтобы получить больше информации о переменных среды Windows и различных опциях расширения. Например, объясняется, как выполнять операции поиска / замены и подстроки.
Я должен это В Windows расширение переменной среды составляет%BUILD_NUMBER%