Partilhar via


AzureCLI@2 - CLI do Azure tarefa v2

Execute comandos CLI do Azure contra uma subscrição Azure num script PowerShell Core/shell ao correr num agente Linux. Ou, execute comandos CLI do Azure contra uma subscrição Azure num script PowerShell/PowerShell Core/batch ao correr no agente 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.

Insumos

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

Selecione uma ligação de serviço Azure Resource Manager para a implementaçã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, ps ou pscore ao correr no Windows agente. Um script pscore pode correr 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, .bat ou .cmd ao usar agente baseado em 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 Windows, usa PowerShell, PowerShell Core ou scripts em lote. Use o PowerShell Core ou shell scripting ao usar agentes baseados em Linux. Para ficheiros batch, use o prefixo call antes de cada comando 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 o ID do principal de serviço, a chave do principal de serviço ou o token de federação da identidade da carga de trabalho e o ID do tenant do endpoint Azure que escolheu ao ambiente de execução do script. Você pode usar as variáveis servicePrincipalId, servicePrincipalKey ou idTokene tenantId em seu script.

Isto só é respeitado quando o endpoint Azure tem um esquema de autenticação de principal de serviço ou 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 - Usa configuração global CLI do Azure
boolean. Valor padrão: false.

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


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 multiplataforma (Linux, macOS ou Windows), certifica-te de que o agente tem PowerShell versão 6 ou superior.
  • O script Powershell funciona apenas com o agente Windows, certifica-te de que o agente tem PowerShell versão 5 ou inferior.

Pré-requisitos

  • Uma subscrição do Microsoft Azure.
  • Azure Resource Manager ligação ao serviço para a tua conta Azure.
  • Os agentes alojados da Microsoft têm o CLI do Azure pré-instalado. No entanto, se estiveres a usar agentes privados, instala CLI do Azure no(s) computador(es) que executam o build e release agent. Se um agente já estiver a correr na máquina onde a CLI do Azure está instalada, reinicie o agente para garantir que todas as variáveis de estágio relevantes estão atualizadas.

Exemplos

O exemplo seguinte lista a versão do CLI do Azure e obtém os detalhes da subscrição.

- 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