AzureCLI@2 - задача Azure CLI v2

Запуск команд Azure CLI против подписки Azure в скрипте PowerShell Core/shell при запуске на Linux agent. Или запустить команды Azure CLI против подписки Azure в скрипте PowerShell/PowerShell Core/batch при запуске на Windows agent.

Синтаксис

# Azure CLI v2
# Run Azure CLI commands against an Azure subscription in a PowerShell Core/Shell script when running on Linux agent or PowerShell/PowerShell Core/Batch script when running on Windows agent.
- task: AzureCLI@2
  inputs:
    azureSubscription: # string. Alias: connectedServiceNameARM. Required. Azure Resource Manager connection. 
    scriptType: # 'ps' | 'pscore' | 'batch' | 'bash'. Required. Script Type. 
    scriptLocation: 'scriptPath' # 'inlineScript' | 'scriptPath'. Required. Script Location. Default: scriptPath.
    scriptPath: # string. Required when scriptLocation = scriptPath. Script Path. 
    #inlineScript: # string. Required when scriptLocation = inlineScript. Inline Script. 
    #arguments: # string. Alias: scriptArguments. Script Arguments. 
    #powerShellErrorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. Optional. Use when scriptType = ps || scriptType = pscore. ErrorActionPreference. Default: stop.
  # Advanced
    #addSpnToEnvironment: false # boolean. Access service principal details in script. Default: false.
    #useGlobalConfig: false # boolean. Use global Azure CLI configuration. Default: false.
    #workingDirectory: # string. Alias: cwd. Working Directory. 
    #failOnStandardError: false # boolean. Fail on Standard Error. Default: false.
    #powerShellIgnoreLASTEXITCODE: false # boolean. Optional. Use when scriptType = ps || scriptType = pscore. Ignore $LASTEXITCODE. Default: false.
    #visibleAzLogin: true # boolean. az login output visibility. Default: true.
# Azure CLI v2
# Run Azure CLI commands against an Azure subscription in a PowerShell Core/Shell script when running on Linux agent or PowerShell/PowerShell Core/Batch script when running on Windows agent.
- task: AzureCLI@2
  inputs:
    azureSubscription: # string. Alias: connectedServiceNameARM. Required. Azure Resource Manager connection. 
    scriptType: # 'ps' | 'pscore' | 'batch' | 'bash'. Required. Script Type. 
    scriptLocation: 'scriptPath' # 'inlineScript' | 'scriptPath'. Required. Script Location. Default: scriptPath.
    scriptPath: # string. Required when scriptLocation = scriptPath. Script Path. 
    #inlineScript: # string. Required when scriptLocation = inlineScript. Inline Script. 
    #arguments: # string. Alias: scriptArguments. Script Arguments. 
    #powerShellErrorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. Optional. Use when scriptType = ps || scriptType = pscore. ErrorActionPreference. Default: stop.
  # Advanced
    #addSpnToEnvironment: false # boolean. Access service principal details in script. Default: false.
    #useGlobalConfig: false # boolean. Use global Azure CLI configuration. Default: false.
    #workingDirectory: # string. Alias: cwd. Working Directory. 
    #failOnStandardError: false # boolean. Fail on Standard Error. Default: false.
    #powerShellIgnoreLASTEXITCODE: false # boolean. Optional. Use when scriptType = ps || scriptType = pscore. Ignore $LASTEXITCODE. Default: false.

Входные данные

azureSubscription - Azure Resource Manager соединение
Псевдоним ввода: connectedServiceNameARM. string. Обязательное.

Выберите сервисное соединение Azure Resource Manager для развертывания.


типа скрипта scriptType -
string. Обязательное. Допустимые значения: ps (PowerShell), pscore (PowerShell Core), batch, bash (оболочка).

Тип скрипта. При запуске агента Linux выберите скрипт bash или pscore. Или выберите скрипт batch, ps или pscore при работе на Windows агенте. Скрипт pscore может работать на кроссплатформенных агентах (Linux, macOS или Windows).


расположения скриптов scriptLocation -
string. Обязательное. Допустимые значения: inlineScript (встроенный скрипт), scriptPath (путь к скрипту). Значение по умолчанию: scriptPath.

Путь к скрипту.


Путьк скрипту scriptPath -
string. Требуется, если scriptLocation = scriptPath.

Полный путь к скрипту. Используйте .ps1, .bat или .cmd при использовании агента на основе Windows. Используйте .ps1 или .sh при использовании агента на основе Linux или пути относительно рабочего каталога по умолчанию.


inlineScript - встроенный скрипт
string. Требуется, если scriptLocation = inlineScript.

Вы можете написать встроенные скрипты здесь. При использовании агента Windows используйте PowerShell, PowerShell Core или пакетное скриптирование. Используйте скрипты PowerShell Core или оболочки при использовании агентов на основе Linux. Для пакетных файлов используйте префикс call перед каждой Azure командой. Вы также можете передавать предопределенные и пользовательские переменные в этот скрипт с помощью аргументов.

Ниже приведен пример powerShell/PowerShellCore/shell.

az --version 
az account show 

Ниже приведен пример пакетной службы.

call  az --version 
call az account show

Аргументы скрипта arguments -
Псевдоним ввода: scriptArguments. string.

Аргументы, переданные скрипту.


powerShellErrorActionPreference - ErrorActionPreference (Предпочтения ErrorAction)
string. Необязательно. Используется при scriptType = ps || scriptType = pscore. Допустимые значения: stop, continue, silentlyContinue. Значение по умолчанию: stop.

Добавляет строку $ErrorActionPreference = 'VALUE' в верхней части скрипта PowerShell или PowerShell Core.


addSpnToEnvironment - Сведения о субъекте-службе Access в скрипте
boolean. Значение по умолчанию: false.

Добавляет идентификатор принципала сервиса, ключевой ключ сервиса или токен идентификации федерации и идентификатор арендатора выбранной вами точки Azure в среду выполнения скрипта. В скрипте можно использовать servicePrincipalId, servicePrincipalKey или idTokenи tenantId переменные.

Это соблюдается только тогда, когда на конечной точке Azure есть схема аутентификации принципала обслуживания или федерация идентификации рабочей нагрузки.

В следующем списке показан синтаксис для доступа к переменным среды на основе типа скрипта.

  • Синтаксис скрипта PowerShell: $env:servicePrincipalId

  • Синтаксис скрипта пакетной службы: %servicePrincipalId%

  • Синтаксис скрипта оболочки: $servicePrincipalId


useGlobalConfig - Использовать глобальную Azure CLI конфигурацию
boolean. Значение по умолчанию: false.

Если этот ввод ложен, задача будет использовать собственную Azure CLI конфигурационную директорию. Используйте эту задачу для запуска Azure CLI задач в релизах parallel.


workingDirectory - рабочий каталог
Псевдоним ввода: cwd. string.

Текущий рабочий каталог, в котором выполняется скрипт. Если оставить пустым, это корневой каталог репозитория (сборка) или артефакты (выпуск), который $(System.DefaultWorkingDirectory).


failOnStandardError - сбой стандартной ошибки
boolean. Значение по умолчанию: false.

Если этот вход имеет значение true, эта задача завершится ошибкой, если все ошибки записываются в поток StandardError. Снимите флажок, чтобы игнорировать стандартные ошибки и вместо этого полагаться на коды выхода, чтобы определить состояние.


powerShellIgnoreLASTEXITCODE - игнорировать $LASTEXITCODE
boolean. Необязательно. Используется при scriptType = ps || scriptType = pscore. Значение по умолчанию: false.

Если это значение равно false, строка if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } добавляется в конец скрипта. Это приведет к распространению последнего кода выхода из внешней команды в качестве кода выхода PowerShell. В противном случае строка не добавляется в конец скрипта.


visibleAzLogin - az login output видимость
boolean. Значение по умолчанию: true.

Если задано значение true, команда az login выводится в задачу. Если задано значение false, он подавляет выходные данные az login.


Параметры управления задачами

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

Выходные переменные

Нет.

Замечания

Новые возможности задачи версии 2.0

  • Поддержка скрипта PowerShell и PowerShell Core.
  • PowerShell Core работает с кроссплатформенными агентами (Linux, macOS или Windows), убедитесь, что у агента есть PowerShell версии 6 или выше.
  • Скрипт Powershell работает только с агентом Windows, убедитесь, что у агента PowerShell версии 5 или ниже.

Предпосылки

  • Подписка Microsoft Azure.
  • Azure Resource Manager сервисное подключение к вашему Azure аккаунту.
  • Майкрософт Hosted Agents имеют предварительно установленный Azure CLI. Однако если вы используете частных агентов, install Azure CLI на компьютеры, где запускается билд и release agent. Если агент уже работает на машине, на которой установлен Azure CLI, перезапустите агент, чтобы убедиться, что все соответствующие переменные этапа обновлены.

Примеры

В следующем примере приведена версия Azure CLI и информация о подписке.

- task: AzureCLI@2
  displayName: Azure CLI
  inputs:
    azureSubscription: <Name of the Azure Resource Manager service connection>
    scriptType: ps
    scriptLocation: inlineScript
    inlineScript: |
      az --version
      az account show

В следующем примере показано, как передать аргументы в скрипт.

  • Передача аргументов в встроенные скрипты:

    - task: AzureCLI@2
      inputs:
        azureSubscription: <Azure_Resource_Manager_Service_Connection>
        scriptType: 'ps'
        scriptLocation: 'inlineScript'
        arguments: '$(AZURE_STORAGE_ACCOUNT) $(AZURE_STORAGE_KEY)'
        inlineScript: './scripts/publish.ps1 $1 $2'
    
  • Передача аргументов с помощью пути к скрипту:

    - task: AzureCLI@2
      inputs:
        azureSubscription: <Azure_Resource_Manager_Service_Connection>
        scriptType: 'ps'
        scriptLocation: 'scriptPath'
        arguments: '$(AZURE_STORAGE_ACCOUNT) $(AZURE_STORAGE_KEY)'
        scriptPath: './scripts/publish.ps1'
    

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
требования Нет
возможностей Эта задача не удовлетворяет требованиям к последующим задачам в задании.
ограничения команд Любое
переменные settable Любое
Версия агента 2.0.0 или более поздней версии
Категория задач Внедрять

См. также