Как вы используете переменную среды в группе задач в Azure DevOps?
У меня есть группа задач, содержащая две задачи: одна — это сценарий PowerShell, который извлекает значение, а вторая — задача «Функции Azure», которая развертывает функцию. Я хотел бы использовать значение из первой задачи во второй задаче (как параметр приложения).
Мой сценарий PowerShell имеет вид:
$result = GetSomeResult();
"##vso[task.setvariable variable=Foo;]$Result";
Если бы это было вызвано непосредственно из конвейера выпуска, а не внутри группы задач, это записало бы содержимое
$result
в переменную конвейера
$Foo
. Затем я смогу использовать его в других задачах конвейера (в данном случае в поле параметров приложения задачи «Функции Azure»), как
$(Foo)
.
Однако, когда он находится в группе задач, он не устанавливает переменную конвейера. Вместо этого он устанавливает переменную среды. Я могу получить к нему доступ с помощью другого сценария PowerShell через
$env:Foo
, но я не могу понять, как его использовать из обычной задачи.
Итак, мой вопрос: как я могу использовать результат сценария PowerShell в задаче «Функции Azure», если они оба находятся в группе задач?
1 ответ
как я могу использовать результат сценария PowerShell в задаче «Функции Azure», если они оба находятся в группе задач?
Вы можете попробовать следующие настройки в группе задач.
Задача PowerShell:
Скрипт:
$result = GetSomeResult();
echo "##vso[task.setvariable variable=Foo;isOutput=true]$Result"
Задача функции Azure:
Установите значение по умолчанию для переменной Foo: $(foo)
Результат: