Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Execute comandos CLI do Azure contra uma assinatura do Azure em um script PowerShell Core/Shell ao rodar no agente Linux ou no PowerShell/PowerShell Core/Batch script ao rodar no agente Windows.
Observação
Esta tarefa foi lançada como parte do Azure DevOps Access com Microsoft Entra recurso de identidade de carga de trabalho, e será lançada esta semana e na próxima. Se você ainda não vê essa funcionalidade no seu projeto Azure DevOps Services, volte em alguns dias.
Sintaxe
# Azure CLI v3
# 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@3
inputs:
connectionType: 'azureRM' # 'azureRM' | 'azureDevOps'. Required. Connection Type. Default: azureRM.
azureSubscription: # string. Alias: connectedServiceNameARM. Required when connectionType = azureRM. Azure Resource Manager connection.
#azureDevOpsServiceConnection: # string. Required when connectionType = azureDevOps. Azure DevOps Service 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.
#allowNoSubscriptions: false # boolean. Allow no Azure subscriptions. Default: false.
#keepAzSessionActive: false # boolean. [Experimental] Keep Azure CLI session active. Default: false.
Entradas
connectionType
-
tipo de conexão
string. Obrigatório Valores permitidos: azureRM (Azure Resource Manager), azureDevOps (Azure DevOps). Valor padrão: azureRM.
Tipo de conexão de serviço a ser utilizada.
azureSubscription
-
Azure Resource Manager conexão
Alias de entrada: connectedServiceNameARM.
string. Necessário quando connectionType = azureRM.
Especifique uma conexão de serviço Azure Resource Manager para a implantação.
azureDevOpsServiceConnection
-
Azure DevOps Conexão de Serviço
string. Necessário quando connectionType = azureDevOps.
Especificar uma conexão de serviço Azure DevOps.
scriptType
-
tipo de script
string. Obrigatório Valores permitidos: ps (PowerShell), pscore (PowerShell Core), batch, bash (Shell).
Tipo de script. Selecione um script bash ou pscore ao executar no agente do Linux. Ou, selecione um script batch, ps ou pscore ao rodar no agente Windows. Um script pscore pode rodar em agentes multiplataforma (Linux, macOS ou Windows).
de local do script scriptLocation -
string. Obrigatório Valores permitidos: inlineScript (script embutido), scriptPath (caminho de script). Valor padrão: scriptPath.
Caminho para script: Caminho de arquivo ou script Inline.
scriptPath
-
caminho de 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 embutido
string. Necessário quando scriptLocation = inlineScript.
Você pode escrever seus scripts embutidos aqui. Ao usar o agente Windows, use PowerShell, PowerShell Core ou scripts em lote. Use o PowerShell Core ou o script de shell ao usar agentes baseados em Linux. Para arquivos 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
Veja a seguir um exemplo de lote.
call az --version
call az account show
argumentos de script arguments -
Alias de entrada: scriptArguments.
string.
Argumentos passados para o script.
ErrorActionPreference powerShellErrorActionPreference -
string. Opcional. Use quando scriptType = ps || scriptType = pscore. Valores permitidos: stop, continue, silentlyContinue. Valor padrão: stop.
Antepõe a linha $ErrorActionPreference = 'VALUE' no topo do seu script core do Powershell.
detalhes da entidade de serviço do addSpnToEnvironment - Access no script
boolean. Valor padrão: false.
Adiciona o id do principal do serviço, chave do principal do serviço e o id do tenant do endpoint Azure que você escolheu ao ambiente de execução do script. Você pode usar variáveis: servicePrincipalId, servicePrincipalKey e tenantId no seu script.
Isso é respeitado apenas quando o endpoint do Azure possui o esquema de autenticação do Service Principal.
Sintaxe para acessar variáveis de ambiente com base no tipo de script.
Script Powershell: $env:servicePrincipalId
Roteiro em lote: %servicePrincipalId%
Script shell: $servicePrincipalId.
useGlobalConfig
-
Use configuração global CLI do Azure
boolean. Valor padrão: false.
Se essa entrada for falsa, essa tarefa usará seu próprio diretório de configuração CLI do Azure separado. Isso pode ser usado para executar tarefas CLI do Azure em versões paralelo.
do Diretório de Trabalho do workingDirectory -
Alias de entrada: cwd.
string.
Especifique o diretório de trabalho onde o script é executado. Se deixado em branco, o padrão é a raiz do repositório (build) ou artefatos (release), que é []$(System.DefaultWorkingDirectory)](/azure/devops/pipelines/build/variables#system-variables).
failOnStandardError
-
falha no de erro padrão
boolean. Valor padrão: false.
Se isso for verdade, essa tarefa falhará quando quaisquer erros forem escritos no fluxo StandardError. Desmarque a caixa de seleção para ignorar erros padrão e use 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 isso for falso, a linha if ((Test-Path -LiteralPath variable:\LASTEXITCODE)) { exit $LASTEXITCODE } é adicionada ao final do seu roteiro. Isso fará com que o último código de saída de um comando externo seja propagado como o código de saída do PowerShell. Caso contrário, a frase não é adicionada ao final do seu roteiro.
visibleAzLogin
-
Visibilidade de 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 de logon az.
allowNoSubscriptions
-
Não permitir assinaturas Azure
boolean. Valor padrão: false.
Se for verdade, a tarefa não tentará definir um contexto de assinatura e permitirá logins onde a identidade não tem acesso a assinaturas. Você também pode fornecer um SubscriptionID totalmente zero (00000000-0000-0000-0000-00000-0000000000) na conexão do serviço para pular implicitamente a definição do contexto da assinatura.
keepAzSessionActive
-
[Experimental] Mantenha CLI do Azure sessão ativa
boolean. Valor padrão: false.
Quando ativada, essa tarefa fará login continuamente no Azure para evitar erros AADSTS700024 ao solicitar tokens de acesso além da data de expiração do IdToken. Note que esse recurso é EXPERIMENTAL, pode não funcionar em todos os cenários e você está usando sem garantias. Válido apenas para conexões de serviço usando o esquema de autenticação da Federação de Identidade de Carga de Trabalho.
Opções de controle de tarefa
Todas as tarefas têm opções de controle além de suas entradas de tarefa. Para obter mais informações, consulte as opções de Controle de e as propriedades comuns da tarefa.
Variáveis de saída
Nenhum.
Observações
Novidades na tarefa Version versão 3.0
- Suporte para tipos de conexão dupla: conexões de serviço Azure Resource Manager e Azure DevOps.
- Integração CLI do Azure DevOps com instalação e configuração automática de extensão.
- Suporte à Federação de Identidade de Carga de Trabalho para conexões Azure DevOps.
- Adicionada a opção 'Não permitir assinaturas do Azure' para suportar identidades sem acesso por assinatura.
Pré-requisitos
- Uma assinatura do Microsoft Azure.
- Azure Resource Manager conexão de serviço para sua conta Azure.
- Os agentes hospedados da Microsoft têm a CLI do Azure pré-instalada. No entanto, se você estiver usando agentes privados, instale CLI do Azure no(s) computador(es) que rodam o build e release agent. Se um agente já estiver rodando na máquina onde a CLI do Azure está instalada, reinicie o agente para garantir que todas as variáveis relevantes do estágio estejam atualizadas.
Requisitos
| Requisito | Descrição |
|---|---|
| Tipos de pipeline | YAML, build clássico, versão clássica |
| Execuções em | Agente, DeploymentGroup |
| Demandas | Nenhum |
| recursos | Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho. |
| restrições de comando | Qualquer |
| variáveis settable | Qualquer |
| Versão do agente | 2.0.0 ou superior |
| Categoria de tarefa | Implantar |