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 batch
script , ps
ou 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 batch
script , ps
ou 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
, .bat
ou .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 servicePrincipalId
variáveis , servicePrincipalKey
ou idToken
e 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 |