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


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

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

Выполнение команд Azure CLI для подписки Azure в скрипте PowerShell Core или оболочки при запуске в агенте 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.
# 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 - Подключение Resource Manager Azure
Входной псевдоним: connectedServiceNameARM. string. Обязательный.

Выберите подключение службы azure Resource Manager для развертывания.


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

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


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

Тип скрипта. bash Выберите скрипт или pscore при запуске в агенте Linux. Или выберите 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
string. Необязательный элемент. Используйте при scriptType = ps || scriptType = pscore. Допустимые значения: stop, continue, silentlyContinue. Значение по умолчанию: stop.

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


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

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

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

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

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

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

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


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

Если эти входные данные имеют значение 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. В противном случае строка не добавляется в конец скрипта.


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

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

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

Нет.

Remarks

Новые возможности задачи "Версия" версии 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
Требования Нет
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента 2.0.0 или более поздней версии
Категория задач Развернуть

См. также раздел