Невозможно установить переменную, используя Azure CLI в DevOps Release Pipeline - PullRequest
0 голосов
/ 17 марта 2020

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

$KEY=(az storage account show-connection-string --key primary -n myStorageAccount -g myResourceGroup --query "connectionString" -o tsv)

echo "Attempting to set variable"
echo $KEY
echo ##vso[task.setvariable variable=AZURE_STORAGE_CONNECTION_STRING;]$KEY
echo $AZURE_STORAGE_CONNECTION_STRING

Запуск на Windows Агент , кстати. Я пробовал все виды вариаций: SET KEY =, SET $ KEY =, SET $ (KEY) =, $ KEY =, $ (KEY) =, KEY =, ничего из этого не работает. Точно так же я попытался ссылаться на переменную в выражениях echo по-другому, но безуспешно. Если я просто запускаю команду az storage account, я получаю обратно строку подключения. Но либо я получаю это $KEY is not a recognizeable command, либо если я использую SET, echo просто возвращает мне $KEY, а строка vso ничего не дает.

Я могу выполнить sh большую часть этого, включая сохранение в переменную Azure Cloud Shell (через синтаксис $KEY= и echo $KEY). Но, конечно, это не помогает моему трубопроводу. Любая идея, правильный синтаксис для получения этого значения в моем следующем шаге конвейера релиза, или это другой метод для выполнения sh this?

1 Ответ

1 голос
/ 18 марта 2020

Невозможно установить переменную с помощью Azure CLI в DevOps Release Pipeline

Если вы используете Azure CLI версии 1. *, попробуйте используйте следующие сценарии:

for /f "tokens=1 USEBACKQ" %%F in (`Yourcommand`) do echo ##vso[task.setvariable variable=AZURE_STORAGE_CONNECTION_STRING;]%%F

Если вы используете Azure CLI версии 2. *, вы также можете использовать команду powershell:

$KEY= & YourCommand
Write-Output("##vso[task.setvariable variable=AZURE_STORAGE_CONNECTION_STRING;]$KEY")

enter image description here

Проверьте эту тему для получения более подробной информации.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...