Поделиться через


AzureCLI@2 — задача Azure CLI версии 2

Выполните команды Azure CLI в подписке Azure в скрипте PowerShell Core/shell при запуске агента Linux. Или запустите команды Azure CLI для подписки Azure в PowerShell/PowerShell Core/пакетном сценарии при запуске в агенте Windows.

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

Синтаксис

# 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.
# 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).


типа скрипта 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 в параллельных выпусках.


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.
  • В размещенных агентах Майкрософт Azure CLI установлен заранее. Однако при использовании частных агентов установите Azure CLI на компьютерах, на которых выполняется агент сборки и выпуска. Если агент уже запущен на компьютере, на котором установлен 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 или более поздней версии
Категория задач Внедрять

См. также