Partilhar via


AzureCLI@2 - Tarefa v2 da CLI do Azure

Execute comandos da CLI do Azure numa subscrição do Azure num script do PowerShell Core/shell quando estiver em execução no agente Linux. Em alternativa, execute comandos da CLI do Azure numa subscrição do Azure num script do PowerShell/PowerShell Core/batch quando estiver em execução no agente do Windows.

Execute comandos da CLI do Azure numa subscrição do Azure num script do PowerShell Core/shell quando estiver em execução no agente Linux. Em alternativa, execute comandos da CLI do Azure numa subscrição do Azure num script do PowerShell/PowerShell Core/batch quando estiver em execução 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 - Ligação Resource Manager do Azure
Alias de entrada: connectedServiceNameARM. string. Obrigatório.

Selecione uma ligação de serviço do Azure Resource Manager para a implementação.


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

Tipo de script. Selecione um bash ou pscore script ao executar no agente Linux. Em alternativa, selecione um batch, psou pscore script ao executar no agente do Windows. Um pscore script pode ser executado em agentes de várias plataformas (Linux, macOS ou Windows).


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

Tipo de script. Selecione um bash ou pscore script ao executar no agente Linux. Em alternativa, selecione um batch, psou pscore script ao executar no agente do Windows. Um pscore script pode ser executado em agentes de várias plataformas (Linux, macOS ou Windows).


scriptLocation - Localização do Script
string. Obrigatório. Valores permitidos: inlineScript (Script inline), scriptPath (Caminho do script). Valor predefinido: scriptPath.

Caminho para o script.


scriptPath - Caminho do Script
string. Necessário quando scriptLocation = scriptPath.

Caminho completamente qualificado do script. Utilize .ps1, .batou .cmd ao utilizar o agente baseado no Windows. Utilize .ps1 ou .sh ao utilizar um agente baseado em Linux ou um caminho relativo ao diretório de trabalho predefinido.


inlineScript - Inline Script
string. Necessário quando scriptLocation = inlineScript.

Pode escrever os seus scripts inline aqui. Ao utilizar o agente do Windows, utilize o PowerShell, o PowerShell Core ou o scripting em lote. Utilize o PowerShell Core ou scripting de shell ao utilizar agentes baseados em Linux. Para ficheiros em lote, utilize o prefixo antes de call cada comando do Azure. Também pode transmitir variáveis predefinidas e personalizadas para este script com argumentos.

Segue-se um exemplo para o PowerShell/PowerShellCore/shell.

az --version 
az account show 

Segue-se um exemplo para batch.

call  az --version 
call az account show

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

Argumentos transmitidos para o script.


powerShellErrorActionPreference - ErrorActionPreference
string. Opcional. Utilize quando scriptType = ps || scriptType = pscore. Valores permitidos: stop, , continuesilentlyContinue. Valor predefinido: stop.

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


addSpnToEnvironment - Detalhes do principal de serviço do Access no script
boolean. Valor predefinido: false.

Adiciona o ID do principal de serviço, a chave de serviço ou o token de federação de identidade da carga de trabalho e o ID de inquilino do ponto final do Azure que escolheu para o ambiente de execução do script. Pode utilizar as servicePrincipalIdvariáveis , servicePrincipalKey ou idToken, e tenantId no script.

Isto só é respeitado quando o ponto final do Azure tem um esquema de autenticação do principal de serviço ou um esquema de autenticação de federação de identidade de carga de trabalho.

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

  • Sintaxe do script do PowerShell: $env:servicePrincipalId

  • Sintaxe do script do Batch: %servicePrincipalId%

  • Sintaxe do script da shell: $servicePrincipalId


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

Se esta entrada for falsa, esta tarefa utilizará o seu próprio diretório de configuração da CLI do Azure. Utilize esta 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 onde o script é executado. Se ficar em branco, esta entrada é a raiz do repositório (compilação) ou artefactos (versão), que é $(System.DefaultWorkingDirectory).


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

Se esta entrada for verdadeira, esta tarefa falhará quando forem escritos erros no fluxo StandardError. Desmarque a caixa de verificação para ignorar erros padrão e, em vez disso, dependa de códigos de saída para determinar o estado.


powerShellIgnoreLASTEXITCODE - Ignorar $LASTEXITCODE
boolean. Opcional. Utilize quando scriptType = ps || scriptType = pscore. Valor predefinido: false.

Se esta entrada for falsa, a linha if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } será anexada ao final do script. Isto irá 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 é anexada ao fim do script.


Opções de controlo de tarefas

Todas as tarefas têm opções de controlo para além das entradas de tarefas. Para obter mais informações, veja Opções de controlo e propriedades de tarefas comuns.

Variáveis de saída

Nenhum.

Observações

Novidades na versão 2.0 da tarefa versão 2.0

  • Suporte para o script do PowerShell e do PowerShell Core.
  • O PowerShell Core funciona com agentes de várias plataformas (Linux, macOS ou Windows), certifique-se de que o agente tem a versão 6 ou superior do PowerShell.
  • O script do Powershell funciona apenas com o agente do Windows, certifique-se de que o agente tem a versão 5 ou abaixo do PowerShell.

Pré-requisitos

  • Uma subscrição do Microsoft Azure.
  • O Azure Resource Manager ligação de serviço à sua conta do Azure.
  • Os agentes alojados da Microsoft têm a CLI do Azure pré-instalada. No entanto, se estiver a utilizar agentes privados, instale a CLI do Azure nos computadores que executam o agente de compilação e versão. Se um agente já estiver em execução no computador no qual a CLI do Azure está instalada, reinicie o agente para garantir que todas as variáveis de fase relevantes são atualizadas.

Exemplos

O exemplo seguinte lista a versão da 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 seguinte ilustra como transmitir argumentos para o script.

  • Transmitir argumentos para scripts inline:

    - 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'
    
  • A transmitir 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 Description
Tipos de pipeline YAML, Compilação clássica, Versão clássica
É executado em Agente, DeploymentGroup
Exigências Nenhuma
Capacidades Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa.
Restrições de comandos Qualquer
Variáveis de tabelas definidas Qualquer
Versão do agente 2.0.0 ou superior
Categoria da tarefa Implementar

Ver também