Как переменные среды используются в Jenkins с помощью пакетной команды Windows?
Я пытаюсь использовать переменные среды Дженкинса (глобальные) в моем скрипте xcopy.
${WORKSPACE} doesn't work
"${WORKSPACE}" doesn't work
'${WORKSPACE}' doesn't work
2 ответа:
Я ничего не знаю о Дженкинсе, но похоже, что вы пытаетесь получить доступ к переменным среды, используя какую - то форму синтаксиса unix-это не сработает.
если имя переменной WORKSPACE, то значение расширяется в пакете Windows с помощью
%WORKSPACE%. Эта форма расширения выполняется во время синтаксического анализа. Например, это выведет на экран значение WORKSPACEecho %WORKSPACE%Если вам нужно значение во время выполнения, то вам нужно использовать delayed расширение
!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 переменные и различные варианты расширения. Например, в нем объясняется, как выполнять операции поиска/замены и подстроки.