AzureResourceManagerTemplateDeployment@3 – tarefa de implantação de modelo do ARM v3
Use essa tarefa para implantar um modelo do ARM (Azure Resource Manager) em todos os escopos de implantação.
Syntax
# ARM template deployment v3
# Deploy an Azure Resource Manager (ARM) template to all the deployment scopes.
- task: AzureResourceManagerTemplateDeployment@3
inputs:
# Azure Details
deploymentScope: 'Resource Group' # 'Management Group' | 'Subscription' | 'Resource Group'. Required. Deployment scope. Default: Resource Group.
azureResourceManagerConnection: # string. Alias: ConnectedServiceName. Required. Azure Resource Manager connection.
#subscriptionId: # string. Alias: subscriptionName. Required when deploymentScope != Management Group. Subscription.
#action: 'Create Or Update Resource Group' # 'Create Or Update Resource Group' | 'DeleteRG'. Required when deploymentScope = Resource Group. Action. Default: Create Or Update Resource Group.
#resourceGroupName: # string. Required when deploymentScope = Resource Group. Resource group.
#location: # string. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Location.
# Template
#templateLocation: 'Linked artifact' # 'Linked artifact' | 'URL of the file'. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Template location. Default: Linked artifact.
#csmFileLink: # string. Required when templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template link.
#csmParametersFileLink: # string. Optional. Use when templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template parameters link.
#csmFile: # string. Required when templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template.
#csmParametersFile: # string. Optional. Use when templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template parameters.
#overrideParameters: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Override template parameters.
#deploymentMode: 'Incremental' # 'Incremental' | 'Complete' | 'Validation'. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment mode. Default: Incremental.
# Advanced
#deploymentName: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment name.
#deploymentOutputs: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment outputs.
#addSpnToEnvironment: false # boolean. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Access service principal details in override parameters. Default: false.
#useWithoutJSON: false # boolean. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Use individual output values without JSON.Stringify applied. Default: false.
# ARM template deployment v3
# Deploy an Azure Resource Manager (ARM) template to all the deployment scopes.
- task: AzureResourceManagerTemplateDeployment@3
inputs:
# Azure Details
deploymentScope: 'Resource Group' # 'Management Group' | 'Subscription' | 'Resource Group'. Required. Deployment scope. Default: Resource Group.
azureResourceManagerConnection: # string. Alias: ConnectedServiceName. Required. Azure Resource Manager connection.
#subscriptionId: # string. Alias: subscriptionName. Required when deploymentScope != Management Group. Subscription.
#action: 'Create Or Update Resource Group' # 'Create Or Update Resource Group' | 'DeleteRG'. Required when deploymentScope = Resource Group. Action. Default: Create Or Update Resource Group.
#resourceGroupName: # string. Required when deploymentScope = Resource Group. Resource group.
#location: # string. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Location.
# Template
#templateLocation: 'Linked artifact' # 'Linked artifact' | 'URL of the file'. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Template location. Default: Linked artifact.
#csmFileLink: # string. Required when templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template link.
#csmParametersFileLink: # string. Optional. Use when templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template parameters link.
#csmFile: # string. Required when templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template.
#csmParametersFile: # string. Optional. Use when templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template parameters.
#overrideParameters: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Override template parameters.
#deploymentMode: 'Incremental' # 'Incremental' | 'Complete' | 'Validation'. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment mode. Default: Incremental.
# Advanced
#deploymentName: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment name.
#deploymentOutputs: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment outputs.
#addSpnToEnvironment: false # boolean. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Access service principal details in override parameters. Default: false.
Entradas
deploymentScope
-
Escopo da implantação
string
. Obrigatórios. Valores permitidos: Management Group
, Subscription
, Resource Group
. Valor padrão: Resource Group
.
O escopo da implantação. Saiba mais sobre escopos de implantação.
azureResourceManagerConnection
-
Conexão de Resource Manager do Azure
Alias de entrada: ConnectedServiceName
.
string
. Obrigatórios.
Especifica a conexão de serviço Resource Manager do Azure com acesso ao escopo de implantação selecionado.
subscriptionId
-
Assinatura
Alias de entrada: subscriptionName
.
string
. Obrigatório quando deploymentScope != Management Group
.
Especifica a assinatura do Azure.
Importante
O valor especificado deve ser a ID da assinatura e não o nome da assinatura.
action
-
Ação
string
. Obrigatório quando deploymentScope = Resource Group
. Valores permitidos: Create Or Update Resource Group
, DeleteRG
(Excluir grupo de recursos). Valor padrão: Create Or Update Resource Group
.
A ação a ser executada nos recursos ou no grupo de recursos do Azure.
resourceGroupName
-
Grupo de recursos
string
. Obrigatório quando deploymentScope = Resource Group
.
Fornece o nome de um grupo de recursos.
location
-
Localização
string
. Obrigatório quando action = Create Or Update Resource Group || deploymentScope != Resource Group
.
Escopos de implantação do Grupo de Recursos: o local para implantar o grupo de recursos. Se o grupo de recursos já existir na assinatura do Azure, esse valor será ignorado. Outros escopos de implantação: o local para armazenar metadados de implantação.
templateLocation
-
Local do modelo
string
. Obrigatório quando action = Create Or Update Resource Group || deploymentScope != Resource Group
. Valores Permitidos: Linked artifact
e URL of the file
. Valor padrão: Linked artifact
.
O local dos arquivos JSON Modelo e Parâmetros. Escolha Artefato vinculado se os arquivos fizerem parte dos artefatos de código/build vinculados. Para artefatos vinculados, você também pode especificar o caminho para um arquivo Bicep. Escolha URL do arquivo se os arquivos JSON estiverem localizados em qualquer URL http/https publicamente acessível. Para usar um arquivo armazenado em uma conta de armazenamento privada, recupere e inclua o token SAS (assinatura de acesso compartilhado) na URL do modelo. Exemplo: <blob_storage_url>/template.json?
. Para carregar um arquivo de parâmetros em uma conta de armazenamento e gerar um token SAS, você pode usar a tarefa de cópia de arquivo do Azure ou seguir as etapas usando o PowerShell ou a CLI do Azure.
csmFileLink
-
Link do modelo
string
. Obrigatório quando templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group
.
Especifica a URL do arquivo de modelo. Um exemplo de URL: https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json
Para implantar um modelo armazenado em uma conta de armazenamento privada, recupere e inclua o token SAS (assinatura de acesso compartilhado) na URL do modelo. Exemplo: <blob_storage_url>/template.json?<SAStoken>
. Para carregar um arquivo de modelo (ou um modelo vinculado) em uma conta de armazenamento e gerar um token SAS, use a tarefa de cópia de arquivo do Azure ou siga as etapas usando o PowerShell ou a CLI do Azure.
Para exibir os parâmetros de modelo em uma grade, clique em ...
ao lado da caixa de texto Substituir parâmetros de modelo. Esse recurso exige que as regras do CORS sejam habilitadas na fonte. Se os modelos estiverem em um blob de armazenamento do Azure, consulte Compartilhamento de recursos entre origens para habilitar o CORS.
csmParametersFileLink
-
Link de parâmetros de modelo
string
. Opcional. Use quando templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group
.
Especifica a URL do arquivo de parâmetros. Um exemplo de URL: https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.parameters.json
Para usar um arquivo armazenado em uma conta de armazenamento privada, recupere e inclua o token SAS (assinatura de acesso compartilhado) na URL do modelo. Exemplo: <blob_storage_url>/template.json?<SAStoken>
. Para carregar um arquivo de modelo (ou um modelo vinculado) em uma conta de armazenamento e gerar um token SAS, use a tarefa de cópia de arquivo do Azure ou siga as etapas usando o PowerShell ou a CLI do Azure.
Para exibir os parâmetros de modelo em uma grade, clique em ao lado da ...
caixa de texto Substituir parâmetros de modelo. Esse recurso exige que as regras do CORS sejam habilitadas na fonte. Se os modelos estiverem em um blob de armazenamento do Azure, consulte Compartilhamento de recursos entre origens para habilitar o CORS.
csmFile
-
Modelo
string
. Obrigatório quando templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group
.
Especifica o caminho ou um padrão que aponta para o modelo de Resource Manager do Azure. Saiba mais sobre modelos de Resource Manager do Azure. Para começar imediatamente, use este modelo de exemplo. Dá suporte a arquivos Bicep quando a CLI do Azure versão > 2.20.0.
csmParametersFile
-
Parâmetros de modelo
string
. Opcional. Use quando templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group
.
Especifique o caminho ou um padrão apontando para o arquivo de parâmetros para o modelo de Resource Manager do Azure. Dá suporte a arquivos Bicep Param quando a CLI do Azure versão > 2.47.0.
overrideParameters
-
Substituir parâmetros de modelo
string
. Opcional. Use quando action = Create Or Update Resource Group || deploymentScope != Resource Group
.
Especifica os parâmetros de modelo a serem substituídos.
Para exibir os parâmetros de modelo em uma grade, clique em ...
ao lado da caixa de texto Substituir Parâmetros. Esse recurso exige que as regras do CORS sejam habilitadas na fonte. Se os modelos estiverem no blob de armazenamento do Azure, faça referência a essa cadeia de caracteres para habilitar o CORS ou digite os parâmetros de modelo a serem substituídos na caixa de texto.
Exemplo: -storageName fabrikam -adminUsername $(vmusername) -adminPassword (ConvertTo-SecureString -String '$(password)' -AsPlainText -Force) -azureKeyVaultName $(fabrikamFibre)
.
Se o valor do parâmetro tiver várias palavras, coloque as palavras entre aspas, mesmo que você esteja passando o valor usando variáveis.
Por exemplo, -name "parameter value" -name2 "$(var)"
.
Para substituir parâmetros de tipo de objeto, use objetos JSON com cadeia de caracteres.
Por exemplo, -options ["option1"] -map {"key1": "value1" }
.
deploymentMode
-
Modo de implantação
string
. Obrigatório quando action = Create Or Update Resource Group || deploymentScope != Resource Group
. Valores permitidos: Incremental
, Complete
, Validation
(somente validação). Valor padrão: Incremental
.
O Incremental
modo lida com implantações como atualizações incrementais para o grupo de recursos. Ele deixa inalterados os recursos existentes no grupo de recursos, mas que não foram especificados no modelo.
O modo Complete
exclui os recursos que não estão no modelo. O modo completo leva relativamente mais tempo do que o modo incremental. Se a tarefa atingir o tempo limite, considere aumentar o tempo limite ou alterar para o Incremental
modo .
Aviso
O modo completo excluirá todos os recursos existentes no grupo de recursos que não estão especificados no modelo. Examine se o grupo de recursos no qual você está implantando não contém os recursos necessários que não estão especificados no modelo.
O modo Validate
permite que você encontre problemas com o modelo antes de criar recursos reais.
Observação
O Validate
modo sempre cria um grupo de recursos, mesmo que nenhum recurso seja implantado.
Saiba mais sobre os modos de implantação.
deploymentName
-
Nome da implantação
string
. Opcional. Use quando action = Create Or Update Resource Group || deploymentScope != Resource Group
.
Especifica o nome da implantação do grupo de recursos a ser criada.
deploymentOutputs
-
Saídas de implantação
string
. Opcional. Use quando action = Create Or Update Resource Group || deploymentScope != Resource Group
.
Fornece um nome para a variável para a variável de saída, que contém a seção de saídas do objeto de implantação atual no formato de cadeia de caracteres. Você pode usar o cmdlet do ConvertFrom-Json
PowerShell para analisar o objeto JSON e acessar os valores de saída individuais. Saiba mais sobre saídas de implantação.
addSpnToEnvironment
-
Acessar detalhes da entidade de serviço em parâmetros de substituição
boolean
. Opcional. Use quando action = Create Or Update Resource Group || deploymentScope != Resource Group
. Valor padrão: false
.
Adiciona a ID da entidade de serviço e a chave do ponto de extremidade do Azure escolhido para ser o ambiente de execução do script. As variáveis $servicePrincipalId
e $servicePrincipalKey
podem estar em parâmetros de substituição, como -key $servicePrincipalKey
.
useWithoutJSON
-
Use valores de saída individuais sem JSON. Stringify aplicado
boolean
. Opcional. Use quando action = Create Or Update Resource Group || deploymentScope != Resource Group
. Valor padrão: false
.
Valores de saída individuais estão sendo convertidos via JSON. Stringify por padrão. Se você quiser usar os valores de saída como estão sem convertê-los via JSON. Stringify, habilite essa opção. Para obter mais detalhes, consulte isso.
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
Observação
Essa tarefa dá suporte a arquivos Bicep quando a CLI do Azure versão > 2.20.0.
- Adicionado suporte para implantação em todos os escopos de implantação.
- Todas as ações relacionadas à VM foram removidas.
Requisitos
Requisito | Descrição |
---|---|
Tipos de pipeline | YAML, build clássico, versão clássica |
Executa em | Agent, DeploymentGroup |
Demandas | Nenhum |
Funcionalidades | Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho. |
Restrições de comando | Qualquer |
Variáveis configuráveis | Qualquer |
Versão do agente | 2.119.1 ou superior |
Categoria da tarefa | Implantar |