Partilhar via


AzureCLI@2 - Tarefa Azure CLI v2

Execute comandos da CLI do Azure em uma assinatura do Azure em um script Core/shell do PowerShell ao executar no agente Linux. Também pode executar comandos da CLI do Azure numa subscrição do Azure num script do PowerShell/PowerShell Core/batch quando executado no agente do Windows.

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

Sintaxe

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

Insumos

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

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


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

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


scriptType - Tipo de script
string. Obrigatório. Valores permitidos: ps (Powershell), pscore (Powershell Core), batchbash (Shell).

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


scriptLocation - Localização do script
string. Obrigatório. Valores permitidos: inlineScript (script embutido), scriptPath (caminho do script). Valor padrão: scriptPath.

Caminho para o script.


scriptPath - caminho do script
string. Necessá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 Inline
string. Necessário quando scriptLocation = inlineScript.

Você pode escrever seus scripts em linha aqui. Ao usar o agente do Windows, use PowerShell, PowerShell Core ou scripts em lote. Use o PowerShell Core ou shell scripting 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 

Segue-se 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.

Precede a linha $ErrorActionPreference = 'VALUE' na parte superior do script principal do PowerShell/PowerShell.


addSpnToEnvironment - Detalhes da entidade de serviço do Access 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 da carga de trabalho e a ID do locatário do ponto de extremidade do Azure que você escolheu ao ambiente de execução do script. Você pode usar as variáveis servicePrincipalId, servicePrincipalKey ou idTokene tenantId em seu script.

Isso é honrado somente 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 do script do PowerShell: $env:servicePrincipalId

  • Sintaxe do script em lote: %servicePrincipalId%

  • Sintaxe do shell script: $servicePrincipalId


useGlobalConfig - Usar de 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 esta tarefa para executar tarefas da CLI do Azure em versões de paralelas.


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

Diretório de trabalho atual onde o script é executado. Se deixada em branco, essa entrada é a raiz do repositório (build) ou artefatos (release), 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, confie nos 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á anexada 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á anexada ao final do script.


visibleAzLogin - de visibilidade da saída de login az
boolean. Valor padrão: true.

Se isso for definido como true, o comando az login será enviado para a tarefa. Defini-lo como false suprimirá a saída az login.


Opções de controlo de tarefas

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

Variáveis de saída

Nenhum.

Observações

O que há de novo na versão 2.0 da tarefa Versão

  • Suporte para PowerShell e script PowerShell Core.
  • O PowerShell Core funciona com agentes de plataforma cruzada (Linux, macOS ou Windows), certifique-se de que o agente tenha o PowerShell versão 6 ou mais.
  • O script Powershell funciona apenas com o agente do Windows, certifique-se de que o agente tenha o PowerShell versão 5 ou inferior.

Pré-requisitos

  • Uma assinatura do Microsoft Azure.
  • Ligação do serviço Azure Resource Manager à sua conta do Azure.
  • Os agentes hospedados pela Microsoft têm a CLI do Azure pré-instalada. No entanto, se você estiver usando agentes privados, instale a CLI do Azure no(s) computador(es) que executam o agente de compilação e versão. Se um agente já estiver em execução na máquina na qual a CLI do Azure está instalada, reinicie o agente para garantir que todas as variáveis de estágio 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 caminho de 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'
    

Requerimentos

Requisito Descrição
Tipos de pipeline YAML, Construção clássica, Versão clássica
Funciona em Agente, DeploymentGroup
Exigências Nenhum
Capacidades Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes no trabalho.
Restrições de comando Qualquer
Variáveis configuráveis Qualquer
Versão do agente 2.0.0 ou superior
Categoria de tarefa Desplegar

Ver também