tarefa AzureCLI@2 – CLI do Azure v2

Execute comandos da CLI do Azure em uma assinatura do Azure em um script core/shell do PowerShell ao ser executado no agente do Linux. Ou execute comandos da CLI do Azure em uma assinatura do Azure em um script do PowerShell/PowerShell Core/batch ao ser executado no agente do Windows.

Execute comandos da CLI do Azure em uma assinatura do Azure em um script core/shell do PowerShell ao ser executado no agente do Linux. Ou execute comandos da CLI do Azure em uma assinatura do Azure em um script do PowerShell/PowerShell Core/batch ao ser executado no agente do Windows.

Syntax

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

Entradas

azureSubscription - Conexão de Resource Manager do Azure
Alias de entrada: connectedServiceNameARM. string. Obrigatórios.

Selecione uma conexão de serviço Resource Manager do Azure para a implantação.


scriptType - Tipo de script
string. Obrigatórios. Valores permitidos: ps (PowerShell), pscore (PowerShell Core), batch, ( bash Shell).

Tipo de script. Selecione um bash script ou pscore ao executar no agente linux. Ou selecione um batchscript , psou pscore ao ser executado no agente do Windows. Um pscore script pode ser executado em agentes multiplataforma (Linux, macOS ou Windows).


scriptType - Tipo de script
string. Obrigatórios. Valores permitidos: ps (PowerShell), pscore (PowerShell Core), batch, bash (Shell).

Tipo de script. Selecione um bash script ou pscore ao executar no agente linux. Ou selecione um batchscript , psou pscore ao ser executado no agente do Windows. Um pscore script pode ser executado em agentes multiplataforma (Linux, macOS ou Windows).


scriptLocation - Local do script
string. Obrigatórios. Valores permitidos: inlineScript (script embutido) scriptPath (Caminho do script). Valor padrão: scriptPath.

Caminho para o script.


scriptPath - Caminho do script
string. Obrigatório quando scriptLocation = scriptPath.

Caminho totalmente qualificado do script. Use .ps1, .batou .cmd ao usar o agente baseado no Windows. Use .ps1 ou .sh ao usar o agente baseado em Linux ou um caminho relativo ao diretório de trabalho padrão.


inlineScript - Script embutido
string. Obrigatório quando scriptLocation = inlineScript.

Você pode escrever seus scripts embutidos aqui. Ao usar o agente do Windows, use o PowerShell, o PowerShell Core ou o script em lote. Use o PowerShell Core ou o script de shell ao usar agentes baseados em Linux. Para arquivos em lote, use o prefixo call antes de cada comando do Azure. Você também pode passar variáveis predefinidas e personalizadas para esse script usando argumentos.

Veja a seguir um exemplo de PowerShell/PowerShellCore/shell.

az --version 
az account show 

Veja a seguir um exemplo de lote.

call  az --version 
call az account show

arguments - Argumentos de script
Alias de entrada: scriptArguments. string.

Argumentos passados para o script.


powerShellErrorActionPreference - Erroractionpreference
string. Opcional. Use quando scriptType = ps || scriptType = pscore. Valores permitidos: stop, continue, silentlyContinue. Valor padrão: stop.

Prepara a linha $ErrorActionPreference = 'VALUE' na parte superior do script do PowerShell/PowerShell Core.


addSpnToEnvironment - Acessar detalhes da entidade de serviço no script
boolean. Valor padrão: false.

Adiciona a ID da entidade de serviço, a chave da entidade de serviço ou o token de federação de identidade de carga de trabalho e a ID do locatário do ponto de extremidade do Azure que você escolheu para o ambiente de execução do script. Você pode usar as servicePrincipalIdvariáveis , servicePrincipalKey ou idTokene tenantId em seu script.

Isso só é respeitado quando o ponto de extremidade do Azure tem esquema de autenticação de entidade de serviço ou esquema de autenticação de federação de identidade de carga de trabalho.

A lista a seguir mostra a sintaxe para acessar variáveis de ambiente com base no tipo de script.

  • Sintaxe de script do PowerShell: $env:servicePrincipalId

  • Sintaxe de script do lote: %servicePrincipalId%

  • Sintaxe de script do Shell: $servicePrincipalId


useGlobalConfig - Usar a configuração global da CLI do Azure
boolean. Valor padrão: false.

Se essa entrada for falsa, essa tarefa usará seu próprio diretório de configuração da CLI do Azure. Use essa tarefa para executar tarefas da CLI do Azure em versões paralelas .


workingDirectory - Diretório de Trabalho
Alias de entrada: cwd. string.

Diretório de trabalho atual em que o script é executado. Se deixado em branco, essa entrada será a raiz do repositório (build) ou artefatos (versão), que é $(System.DefaultWorkingDirectory).


failOnStandardError - Falha no Erro Padrão
boolean. Valor padrão: false.

Se essa entrada for verdadeira, essa tarefa falhará quando quaisquer erros forem gravados no fluxo StandardError. Desmarque a caixa de seleção para ignorar erros padrão e, em vez disso, conte com códigos de saída para determinar o status.


powerShellIgnoreLASTEXITCODE - Ignorar $LASTEXITCODE
boolean. Opcional. Use quando scriptType = ps || scriptType = pscore. Valor padrão: false.

Se essa entrada for falsa, a linha if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } será acrescentada ao final do script. Isso propagará o último código de saída de um comando externo como o código de saída do PowerShell. Caso contrário, a linha não será acrescentada ao final do script.


Opções de controle da tarefa

Todas as tarefas têm opções de controle além de suas entradas de tarefa. Para obter mais informações, consulte Opções de controle e propriedades comuns da tarefa.

Variáveis de saída

Nenhum.

Comentários

Novidades na versão 2.0 da tarefa

  • Suporte para script do PowerShell e do PowerShell Core.
  • O PowerShell Core funciona com agentes multiplataforma (Linux, macOS ou Windows), verifique se o agente tem o PowerShell versão 6 ou mais.
  • O script do PowerShell funciona apenas com o agente do Windows, verifique se o agente tem o PowerShell versão 5 ou inferior.

Pré-requisitos

  • Uma assinatura do Microsoft Azure.
  • Conexão de serviço do ARM (Azure Resource Manager) à sua conta do Azure.
  • Agentes hospedados pela Microsoft tem a CLI do Azure pré-instalada. No entanto, se você estiver usando agentes privados, instale a CLI do Azure nos computadores que executarem o build e o agente de versão. Se um agente já estiver em execução no computador em que a CLI do Azure está instalada, reinicie o agente para garantir que todas as variáveis de fase relevantes sejam atualizadas.

Exemplos

O exemplo a seguir lista a versão da CLI do Azure e obtém os detalhes da assinatura.

- 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

O exemplo a seguir ilustra como passar argumentos para o script.

  • Passando argumentos para scripts embutidos:

    - 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'
    
  • Passando argumentos com o caminho do script:

    - 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'
    

Requisitos

Requisito Descrição
Tipos de pipeline YAML, build clássico, versão clássica
É executado em Agent, DeploymentGroup
Demandas Nenhum
Funcionalidades Essa tarefa não atende a nenhuma demanda por tarefas subsequentes no trabalho.
Restrições de comando Qualquer
Variáveis configuráveis Qualquer
Versão do agente 2.0.0 ou superior
Categoria da tarefa Implantar

Confira também