Partager via


AzureResourceManagerTemplateDeployment@3 - Tâche de déploiement de modèle ARM v3

Utilisez cette tâche pour déployer un modèle Azure Resource Manager (ARM) sur toutes les étendues de déploiement.

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.

Entrées

deploymentScope - Étendue du déploiement
string. Obligatoire. Valeurs autorisées : Management Group, Subscription, Resource Group. Valeur par défaut : Resource Group.

Étendue du déploiement. En savoir plus sur les étendues de déploiement.


azureResourceManagerConnection - Connexion Azure Resource Manager
Alias d’entrée : ConnectedServiceName. string. Obligatoire.

Spécifie la connexion de service Azure Resource Manager avec accès à l’étendue de déploiement sélectionnée.


subscriptionId - Abonnement
Alias d’entrée : subscriptionName. string. Nécessaire lorsque deploymentScope != Management Group.

Spécifie l’abonnement Azure.

Important

La valeur spécifiée doit être l’ID d’abonnement et non le nom de l’abonnement.


action - Action
string. Nécessaire lorsque deploymentScope = Resource Group. Valeurs autorisées : Create Or Update Resource Group, DeleteRG (Supprimer le groupe de ressources). Valeur par défaut : Create Or Update Resource Group.

Action à effectuer sur les ressources ou le groupe de ressources Azure.


resourceGroupName - Groupe de ressources
string. Nécessaire lorsque deploymentScope = Resource Group.

Fournit le nom d’un groupe de ressources.


location - Emplacement
string. Nécessaire lorsque action = Create Or Update Resource Group || deploymentScope != Resource Group.

Étendues de déploiement du groupe de ressources : emplacement où déployer le groupe de ressources. Si le groupe de ressources existe déjà dans l’abonnement Azure, cette valeur est ignorée. Autres étendues de déploiement : emplacement où stocker les métadonnées de déploiement.


templateLocation - Emplacement du modèle
string. Nécessaire lorsque action = Create Or Update Resource Group || deploymentScope != Resource Group. Valeurs autorisées : Linked artifact, URL of the file. Valeur par défaut : Linked artifact.

Emplacement des fichiers JSON Template et Parameters. Choisissez Artefact lié si les fichiers font partie des artefacts de code/build liés. Pour les artefacts liés, vous pouvez également spécifier le chemin d’accès à un fichier Bicep. Choisissez l’URL du fichier si les fichiers JSON se trouvent dans n’importe quelle URL http/https accessible publiquement. Pour utiliser un fichier stocké dans un compte de stockage privé, récupérez et incluez le jeton de signature d’accès partagé (SAP) dans l’URL du modèle. Exemple : <blob_storage_url>/template.json?. Pour charger un fichier de paramètres dans un compte de stockage et générer un jeton SAP, vous pouvez utiliser la tâche de copie de fichiers Azure ou suivre les étapes à l’aide de PowerShell ou d’Azure CLI.


csmFileLink - Lien de modèle
string. Nécessaire lorsque templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group.

Spécifie l’URL du fichier de modèle. Exemple d’URL : https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json

Pour déployer un modèle stocké dans un compte de stockage privé, récupérez et incluez le jeton de signature d’accès partagé (SAP) dans l’URL du modèle. Exemple : <blob_storage_url>/template.json?<SAStoken>. Pour charger un fichier de modèle (ou un modèle lié) dans un compte de stockage et générer un jeton SAP, utilisez la tâche de copie de fichiers Azure ou suivez les étapes à l’aide de PowerShell ou d’Azure CLI.

Pour afficher les paramètres du modèle dans une grille, cliquez sur en ... regard de la zone de texte Paramètres de modèle de remplacement. Cette fonctionnalité impose que les règles CORS soient activées au niveau de la source. Si les modèles se trouvent dans un objet blob de stockage Azure, reportez-vous à Partage des ressources cross-origin pour activer CORS.


csmParametersFileLink - Lien paramètres de modèle
string. facultatif. Utilisez quand templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group.

Spécifie l’URL du fichier de paramètres. Exemple d’URL : https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.parameters.json

Pour utiliser un fichier stocké dans un compte de stockage privé, récupérez et incluez le jeton de signature d’accès partagé (SAP) dans l’URL du modèle. Exemple : <blob_storage_url>/template.json?<SAStoken>. Pour charger un fichier de modèle (ou un modèle lié) dans un compte de stockage et générer un jeton SAP, utilisez la tâche de copie de fichiers Azure ou suivez les étapes à l’aide de PowerShell ou d’Azure CLI.

Pour afficher les paramètres du modèle dans une grille, cliquez sur en ... regard de la zone de texte Remplacer les paramètres du modèle. Cette fonctionnalité impose que les règles CORS soient activées au niveau de la source. Si les modèles se trouvent dans un objet blob de stockage Azure, reportez-vous à Partage des ressources cross-origin pour activer CORS.


csmFile - Modèle
string. Nécessaire lorsque templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group.

Spécifie le chemin d’accès ou un modèle pointant vers le modèle azure Resource Manager. En savoir plus sur les modèles Azure Resource Manager. Pour commencer immédiatement, utilisez cet exemple de modèle. Prend en charge les fichiers Bicep quand Azure CLI version > 2.20.0.


csmParametersFile - Paramètres de modèle
string. facultatif. Utilisez quand templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group.

Spécifiez le chemin d’accès ou un modèle pointant pour le fichier de paramètres du modèle Resource Manager Azure. Prend en charge les fichiers Bicep Param quand Azure CLI version > 2.47.0.


overrideParameters - Remplacer les paramètres de modèle
string. facultatif. Utilisez quand action = Create Or Update Resource Group || deploymentScope != Resource Group.

Spécifie les paramètres de modèle à remplacer.

Pour afficher les paramètres du modèle dans une grille, cliquez sur en ... regard de la zone de texte Remplacer les paramètres. Cette fonctionnalité impose que les règles CORS soient activées au niveau de la source. Si les modèles se trouvent dans l’objet blob de stockage Azure, référencez cette chaîne pour activer CORS ou tapez les paramètres de modèle à remplacer dans la zone de texte.

Exemple : -storageName fabrikam -adminUsername $(vmusername) -adminPassword (ConvertTo-SecureString -String '$(password)' -AsPlainText -Force) -azureKeyVaultName $(fabrikamFibre).

Si la valeur du paramètre comporte plusieurs mots, placez les mots entre guillemets, même si vous transmettez la valeur à l’aide de variables. Par exemple : -name "parameter value" -name2 "$(var)". Pour remplacer les paramètres de type d’objet, utilisez des objets JSON stringifiés. Par exemple : -options ["option1"] -map {"key1": "value1" }.


deploymentMode - Mode de déploiement
string. Nécessaire lorsque action = Create Or Update Resource Group || deploymentScope != Resource Group. Valeurs autorisées : Incremental, Complete, Validation (Validation uniquement). Valeur par défaut : Incremental.

Le Incremental mode gère les déploiements en tant que mises à jour incrémentielles du groupe de ressources. Il conserve telles quelles les ressources qui existent dans le groupe de ressources, mais qui ne sont pas spécifiées dans le modèle.

Le mode Complete supprime les ressources qui ne sont pas dans votre modèle. Le mode Complet prend relativement plus de temps que le mode incrémentiel. Si la tâche expire, envisagez d’augmenter le délai d’expiration ou de passer au Incremental mode .

Avertissement

Le mode Complet supprime toutes les ressources existantes du groupe de ressources qui ne sont pas spécifiées dans le modèle. Vérifiez si le groupe de ressources sur lequel vous déployez ne contient pas de ressources nécessaires qui ne sont pas spécifiées dans le modèle. Le mode Validate vous permet de trouver des problèmes avec le modèle avant de créer des ressources réelles.

Notes

Le Validate mode crée toujours un groupe de ressources, même si aucune ressource n’est déployée. En savoir plus sur les modes de déploiement.


deploymentName - Nom du déploiement
string. facultatif. Utilisez quand action = Create Or Update Resource Group || deploymentScope != Resource Group.

Spécifie le nom du déploiement du groupe de ressources à créer.


deploymentOutputs - Sorties de déploiement
string. facultatif. Utilisez quand action = Create Or Update Resource Group || deploymentScope != Resource Group.

Fournit un nom pour la variable de sortie, qui contient la section sorties de l’objet de déploiement actuel au format chaîne. Vous pouvez utiliser l’applet de ConvertFrom-Json commande PowerShell pour analyser l’objet JSON et accéder aux valeurs de sortie individuelles. En savoir plus sur les sorties de déploiement.


addSpnToEnvironment - Accéder aux détails du principal du service dans les paramètres de remplacement
boolean. facultatif. Utilisez quand action = Create Or Update Resource Group || deploymentScope != Resource Group. Valeur par défaut : false.

Ajoute l’ID de principal de service et la clé du point de terminaison Azure choisi pour être l’environnement d’exécution du script. Les variables $servicePrincipalId et $servicePrincipalKey peuvent se trouver dans des paramètres de remplacement, tels que -key $servicePrincipalKey.


useWithoutJSON - Utilisez des valeurs de sortie individuelles sans JSON. Stringify appliqué
boolean. facultatif. Utilisez quand action = Create Or Update Resource Group || deploymentScope != Resource Group. Valeur par défaut : false.

Les valeurs de sortie individuelles sont converties via JSON. Stringify par défaut. Si vous souhaitez utiliser les valeurs de sortie telles qu’elles sont sans les convertir via JSON. Stringify, activez cette option. Pour plus d’informations, reportez-vous à ceci.


Options de contrôle de la tâche

Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâches. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.

Variables de sortie

Aucun.

Notes

Notes

Cette tâche prend en charge les fichiers Bicep quand Azure CLI version > 2.20.0.

  • Ajout de la prise en charge du déploiement à toutes les étendues de déploiement.
    • Suppression de toutes les actions liées à la machine virtuelle.

Configuration requise

Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent, DeploymentGroup
Demandes None
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commandes Quelconque
Variables settables Quelconque
Version de l’agent 2.119.1 ou version ultérieure
Catégorie de la tâche Déployer