Partilhar via


AzureResourceManagerTemplateDeployment@3 - Tarefa v3 de implementação de modelos do ARM

Utilize esta tarefa para implementar um modelo do Azure Resource Manager (ARM) em todos os âmbitos de implementaçã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 - Âmbito da implementação
string. Obrigatório. Valores permitidos: Management Group, , SubscriptionResource Group. Valor predefinido: Resource Group.

O âmbito da implementação. Saiba mais sobre os âmbitos de implementação.


azureResourceManagerConnection - Ligação Resource Manager do Azure
Alias de entrada: ConnectedServiceName. string. Obrigatório.

Especifica a ligação do serviço Resource Manager do Azure com acesso ao âmbito de implementação selecionado.


subscriptionId - Subscrição
Alias de entrada: subscriptionName. string. Necessário quando deploymentScope != Management Group.

Especifica a subscrição do Azure.

Importante

O valor especificado tem de ser o ID da subscrição e não o nome da subscrição.


action - Ação
string. Necessário quando deploymentScope = Resource Group. Valores permitidos: Create Or Update Resource Group, DeleteRG (Eliminar grupo de recursos). Valor predefinido: Create Or Update Resource Group.

A ação a ser efetuada no grupo de recursos ou recursos do Azure.


resourceGroupName - Grupo de recursos
string. Necessário quando deploymentScope = Resource Group.

Fornece o nome de um grupo de recursos.


location - Localização
string. Necessário quando action = Create Or Update Resource Group || deploymentScope != Resource Group.

Âmbitos de implementação do Grupo de Recursos: a localização para implementar o grupo de recursos. Se o grupo de recursos já existir na subscrição do Azure, este valor será ignorado. Outros âmbitos de implementação: a localização para armazenar metadados de implementação.


templateLocation - Localização do modelo
string. Necessário quando action = Create Or Update Resource Group || deploymentScope != Resource Group. Valores permitidos: Linked artifact, URL of the file. Valor predefinido: Linked artifact.

A localização dos ficheiros JSON modelo e parâmetros. Selecione Artefacto ligado se os ficheiros fazem parte dos artefactos de código/compilação ligados. Para artefactos ligados, também pode especificar o caminho para um ficheiro Bicep. Selecione URL do ficheiro se os ficheiros JSON estiverem localizados em quaisquer URLs http/https acessíveis publicamente. Para utilizar um ficheiro armazenado numa conta de armazenamento privado, obtenha e inclua o token de assinatura de acesso partilhado (SAS) no URL do modelo. Exemplo: <blob_storage_url>/template.json?. Para carregar um ficheiro de parâmetros para uma conta de armazenamento e gerar um token de SAS, pode utilizar a tarefa de cópia de ficheiros do Azure ou seguir os passos com o PowerShell ou a CLI do Azure.


csmFileLink - Ligação de modelo
string. Necessário quando templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group.

Especifica o URL do ficheiro de modelo. Um URL de exemplo: https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json

Para implementar um modelo armazenado numa conta de armazenamento privado, obtenha e inclua o token de assinatura de acesso partilhado (SAS) no URL do modelo. Exemplo: <blob_storage_url>/template.json?<SAStoken>. Para carregar um ficheiro de modelo (ou um modelo ligado) para uma conta de armazenamento e gerar um token de SAS, utilize a tarefa de cópia de ficheiros do Azure ou siga os passos com o PowerShell ou a CLI do Azure.

Para ver os parâmetros do modelo numa grelha, clique em ... junto à caixa de texto substituir parâmetros de modelo. Esta funcionalidade requer que as regras CORS estejam ativadas na origem. Se os modelos estiverem num blob de armazenamento do Azure, veja Partilha de Recursos Entre Origens para ativar o CORS.


csmParametersFileLink - Ligação de parâmetros de modelo
string. Opcional. Utilize quando templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group.

Especifica o URL do ficheiro de parâmetros. Um URL de exemplo: https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.parameters.json

Para utilizar um ficheiro armazenado numa conta de armazenamento privado, obtenha e inclua o token de assinatura de acesso partilhado (SAS) no URL do modelo. Exemplo: <blob_storage_url>/template.json?<SAStoken>. Para carregar um ficheiro de modelo (ou um modelo ligado) para uma conta de armazenamento e gerar um token de SAS, utilize a tarefa de cópia de ficheiros do Azure ou siga os passos com o PowerShell ou a CLI do Azure.

Para ver os parâmetros do modelo numa grelha, clique na ... caixa de texto Substituir parâmetros de modelo. Esta funcionalidade requer que as regras CORS estejam ativadas na origem. Se os modelos estiverem num blob de armazenamento do Azure, veja Partilha de Recursos Entre Origens para ativar o CORS.


csmFile - Modelo
string. Necessá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 os modelos de Resource Manager do Azure. Para começar imediatamente, utilize este modelo de exemplo. Suporta ficheiros Bicep quando a versão > 2.20.0 da CLI do Azure.


csmParametersFile - Parâmetros do modelo
string. Opcional. Utilize quando templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group.

Especifique o caminho ou um padrão que aponte para o ficheiro de parâmetros do modelo Resource Manager do Azure. Suporta ficheiros Bicep Param quando a versão > 2.47.0 da CLI do Azure.


overrideParameters - Substituir parâmetros de modelo
string. Opcional. Utilize quando action = Create Or Update Resource Group || deploymentScope != Resource Group.

Especifica os parâmetros do modelo a substituir.

Para ver os parâmetros do modelo numa grelha, clique em ... junto à caixa de texto Substituir Parâmetros. Esta funcionalidade requer que as regras CORS estejam ativadas na origem. Se os modelos estiverem no blob de armazenamento do Azure, faça referência a esta cadeia para ativar o CORS ou escreva os parâmetros do modelo a substituir 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 múltiplas palavras, coloque as palavras entre aspas, mesmo que esteja a transmitir o valor através de variáveis. Por exemplo, -name "parameter value" -name2 "$(var)". Para substituir os parâmetros do tipo de objeto, utilize objetos JSON com cadeias. Por exemplo, -options ["option1"] -map {"key1": "value1" }.


deploymentMode - Modo de implementação
string. Necessário quando action = Create Or Update Resource Group || deploymentScope != Resource Group. Valores permitidos: Incremental, Complete, Validation (apenas validação). Valor predefinido: Incremental.

O Incremental modo processa as implementações como atualizações incrementais para o grupo de recursos. Deixa os recursos inalterados que existem no grupo de recursos, mas não são especificados no modelo.

Complete o modo elimina recursos que não estão no seu modelo. O modo completo demora relativamente mais tempo do que o modo incremental. Se a tarefa exceder o limite de tempo, considere aumentar o tempo limite ou mudar para o Incremental modo.

Aviso

O modo completo eliminará todos os recursos existentes no grupo de recursos que não estão especificados no modelo. Analise se o grupo de recursos no qual está a implementar não contém quaisquer recursos necessários que não estejam especificados no modelo. Validate O modo permite-lhe encontrar problemas com o modelo antes de criar recursos reais.

Nota

O Validate modo cria sempre um grupo de recursos, mesmo que não sejam implementados recursos. Saiba mais sobre os modos de implementação.


deploymentName - Nome da implementação
string. Opcional. Utilize quando action = Create Or Update Resource Group || deploymentScope != Resource Group.

Especifica o nome da implementação do grupo de recursos a criar.


deploymentOutputs - Saídas de implementação
string. Opcional. Utilize 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 secção outputs do objeto de implementação atual no formato de cadeia. Pode utilizar o cmdlet do ConvertFrom-Json PowerShell para analisar o objeto JSON e aceder aos valores de saída individuais. Saiba mais sobre as saídas de implementação.


addSpnToEnvironment - Aceder aos detalhes do principal de serviço nos parâmetros de substituição
boolean. Opcional. Utilize quando action = Create Or Update Resource Group || deploymentScope != Resource Group. Valor predefinido: false.

Adiciona o ID do principal de serviço e a chave do ponto final 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 - Utilize valores de saída individuais sem JSON. Stringify aplicado
boolean. Opcional. Utilize quando action = Create Or Update Resource Group || deploymentScope != Resource Group. Valor predefinido: false.

Os valores de saída individuais estão a ser convertidos através de JSON. Stringify por predefinição. Se quiser utilizar os valores de saída tal como estão sem os converter através de JSON. Stringify, ative esta opção. Para obter mais detalhes, veja isto.


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

Nota

Esta tarefa suporta ficheiros Bicep quando a versão > 2.20.0 da CLI do Azure.

  • Foi adicionado suporte para implementação em todos os âmbitos de implementação.
    • Foram removidas todas as ações relacionadas com a VM.

Requisitos

Requisito Description
Tipos de pipeline YAML, Compilação clássica, Versão clássica
É executado em Agent, 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 definição Qualquer
Versão do agente 2.119.1 ou superior
Categoria da tarefa Implementação