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

Результат:

Другие вопросы по тегам