Задача CLI Azure на моем конвейере classi c показывает ошибку при использовании inlinescript - PullRequest
0 голосов
/ 23 апреля 2020

Я использую задачу Azure CLI на моем Azure classi c конвейере (без YAML). Конвейер работает правильно, единственная проблема в том, что эта задача показывает ошибку. Я использую этот встроенный скрипт для выполнения задачи:

$containers = $(call az storage container list --connection-string '...') | ConvertFrom-Json -Depth 5
$containers | where{$_.name -like "..."}
$lastContainers = $containers | Select-Object -Last 5
$containers.ForEach({ If ($_ -notin $lastContainers) {call az storage container delete --name $_.name --connection-string '...' } });

Я заменил свою строку реального соединения на .... Я получаю эту ошибку о последней задаче (Azure CLI) при запуске конвейера (все предыдущие шаги завершаются успешно):

D:\a\9\s>$containers = $(call az storage container list --connection-string '...') | ConvertFrom-Json -Depth 5 
'$containers' is not recognized as an internal or external command, operable program or batch file.
##[error]Script failed with error: Error: The process 'D:\a\_temp\azureclitaskscript1587632019088.bat' failed with exit code 255

У меня есть аналогичный конвейер YAML, который использует тот же сценарий и все работает просто отлично. Я использую call перед Azure командами , как предлагается на GitHub .

1 Ответ

0 голосов
/ 23 апреля 2020

В AzureCLI@2 вы выбираете тип скрипта:

Тип скрипта: PowerShell / PowerShell Core / Bat / Shell script. Выберите скрипт bash / pscore при работе на агенте Linux или скрипт batch / ps / pscore при работе на агенте Windows. Сценарий PowerShell Core может работать на кроссплатформенных агентах (Linux, macOS или Windows)

Кроме того, могут быть некоторые различия в Linux и Windows (эта проблема связана с * Оператор 1008 *), но если вы выберете там pscore, например, вам следует избавиться от оператора 'call`.

Поэтому, пожалуйста, предоставьте больше информации о том, в какой системе и терминале вы запускаете этот скрипт, чтобы дать вам больше помощи .

Я запустил ваш скрипт без call в powershell, и все было в порядке. Пожалуйста, попробуйте запустить его таким образом.

...