Partager via


AzureVmssDeployment@0 - Tâche de déploiement de groupe de machines virtuelles identiques Azure v0

Cette tâche déploie une image de groupe de machines virtuelles identiques.

Syntaxe

# Azure VM scale set deployment v0
# Deploy a virtual machine scale set image.
- task: AzureVmssDeployment@0
  inputs:
  # Azure Details
    azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription. 
    action: 'Update image' # 'Update image' | 'Configure application startup'. Required. Action. Default: Update image.
    vmssName: # string. Required. Virtual Machine scale set name. 
    vmssOsType: # 'Windows' | 'Linux'. Required. OS type. 
  # Image Details
    #imageUrl: # string. Required when action = Update image || action = UpdateImage. Image URL. 
  # Configure start-up
    #customScriptsDirectory: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Custom script directory. 
    #customScript: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Command. 
    #customScriptArguments: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Arguments. 
    #customScriptsStorageAccount: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Azure storage account where custom scripts will be uploaded. 
  # Advanced
    #skipArchivingCustomScripts: false # boolean. Skip Archiving custom scripts. Default: false.
# Azure VM scale set Deployment v0
# Deploy Virtual Machine scale set image.
- task: AzureVmssDeployment@0
  inputs:
  # Azure Details
    azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription. 
    action: 'Update image' # 'Update image' | 'Configure application startup'. Required. Action. Default: Update image.
    vmssName: # string. Required. Virtual Machine scale set name. 
    vmssOsType: # 'Windows' | 'Linux'. Required. OS type. 
  # Image Details
    #imageUrl: # string. Required when action = Update image || action = UpdateImage. Image URL. 
  # Configure start-up
    #customScriptsDirectory: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Custom script directory. 
    #customScript: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Command. 
    #customScriptArguments: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Arguments. 
    #customScriptsStorageAccount: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Azure storage account where custom scripts will be uploaded. 
  # Advanced
    #skipArchivingCustomScripts: false # boolean. Skip Archiving custom scripts. Default: false.

Entrées

azureSubscription - abonnement Azure
Alias d’entrée : ConnectedServiceName. string. Obligatoire.

Spécifie l’abonnement Azure Resource Manager pour le groupe identique.


action - action
string. Obligatoire. Valeurs autorisées : Update image (mettre à jour un groupe de machines virtuelles identiques à l’aide d’une image), Configure application startup (exécuter l’extension de machine virtuelle de script personnalisé sur un groupe identique de machines virtuelles). Valeur par défaut : Update image.

Met à jour un groupe de machines virtuelles identiques par la méthode choisie, à l’aide d’une image de disque dur virtuel et/ou en exécutant des scripts de déploiement/installation à l’aide de l’extension de machine virtuelle de script personnalisé.

l’approche de l’image de disque dur virtuel est préférable à la mise à l’échelle rapidement et à la restauration. Lorsqu’un groupe de machines virtuelles identiques est créé à l’aide d’une image personnalisée, il peut être mis à jour par une image de disque dur virtuel. La mise à jour échoue si le groupe de machines virtuelles identiques a été créé à l’aide d’une image de plateforme/galerie disponible dans Azure.

l’approche d’extension de machine virtuelle de script personnalisé est utile pour la configuration post-déploiement, l’installation logicielle ou toute autre tâche de configuration/gestion. L’approche d’extension de machine virtuelle de script personnalisé peut être utilisée pour un groupe de machines virtuelles identiques créé à l’aide d’une image personnalisée ou d’une image de plateforme/galerie.


vmssName - nom du groupe de machines virtuelles identiques
string. Obligatoire.

Spécifie le nom du paramètre de mise à l’échelle de la machine virtuelle à mettre à jour. Utilisez une image de disque dur virtuel ou une extension de machine virtuelle de script personnalisé.


vmssOsType - type de système d’exploitation
string. Obligatoire. Valeurs autorisées : Windows, Linux.

Spécifie le type de système d’exploitation du groupe de machines virtuelles identiques.


URL d’image imageUrl -
string. Obligatoire lorsque action = Update image || action = UpdateImage.

Spécifie l’URL de l’image de disque dur virtuel. S’il s’agit d’une URL d’objet blob de stockage Azure, l’emplacement du compte de stockage est identique à l’emplacement du groupe identique.


customScriptsDirectory - répertoire de script personnalisé
string. Optionnel. Utilisez quand action = Configure application startup || action = Update image || action = UpdateImage.

Optionnel. Chemin d’accès au répertoire contenant les scripts personnalisés exécutés à l’aide de l’extension de machine virtuelle de script personnalisé. L’approche d’extension est utile pour la configuration post-déploiement, l’application/l’installation logicielle ou toute autre tâche de configuration/gestion d’application. Par exemple, le script peut définir une variable d’environnement au niveau de l’ordinateur que l’application utilise, comme les chaînes de connexion de base de données.


customScript - commande
string. Optionnel. Utilisez quand action = Configure application startup || action = Update image || action = UpdateImage.

Optionnel. Script exécuté à l’aide de l’extension de machine virtuelle de script personnalisé. Ce script peut appeler d’autres scripts dans le répertoire et est appelé avec les arguments passés ci-dessous.
Conjointement avec ces arguments, ce script peut être utilisé pour exécuter des commandes.

Par exemple:

  1. Update-DatabaseConnectionStrings.ps1 -clusterType dev -user $(dbUser) -password $(dbUserPwd) met à jour la chaîne de connexion dans web.config de l’application web.
  2. install-secrets.sh --key-vault-type prod -key serviceprincipalkey crée un fichier chiffré contenant une clé de principal de service.

customScriptArguments - arguments
string. Optionnel. Utilisez quand action = Configure application startup || action = Update image || action = UpdateImage.

Optionnel. Le script personnalisé est appelé avec les arguments passés. Les variables de génération/mise en production peuvent être utilisées, ce qui facilite l’utilisation des secrets.


customScriptsStorageAccount - compte de stockage Azure où des scripts personnalisés seront chargés
string. Optionnel. Utilisez quand action = Configure application startup || action = Update image || action = UpdateImage.

Optionnel. L’extension de script personnalisé télécharge et exécute les scripts fournis sur chaque machine virtuelle du groupe de machines virtuelles identiques. Ces scripts seront stockés dans le compte de stockage ARM préexistant spécifié ici.


skipArchivingCustomScripts - ignorer les scripts personnalisés d’archivage
boolean. Valeur par défaut : false.

Optionnel. Par défaut, cette tâche crée une archive compressée du répertoire contenant les scripts personnalisés. Cela améliore les performances et la fiabilité lors du chargement dans le stockage Azure. Si ce n’est pas le cas, l’archivage n’est pas effectué et tous les fichiers sont chargés individuellement.


Options de contrôle de tâche

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

Variables de sortie

Aucun.

Remarques

Utilisez cette tâche pour déployer une image de groupe de machines virtuelles identiques.

L’exécution du script est signalée comme réussie, mais les instances VMSS ne sont pas mises à jour

Les groupes identiques ont une stratégie de mise à niveau qui détermine la façon dont les machines virtuelles sont apportées up-to-date avec le dernier modèle de groupe identique, et si la stratégie de mise à niveau est définie sur manuellement, vous devez mettre à niveau manuellement chaque machine virtuelle. Pour plus d’informations, consultez Comment apporter des machines virtuelles up-to-date avec le dernier modèle de groupe identique. Vous pouvez modifier la stratégie de mise à jour ou mettre à niveau manuellement chaque machine virtuelle. Par exemple, pour mettre à niveau la stratégie vers Automatic, utilisez la commande Az CLI suivante : az vmss update --set upgradePolicy.mode=Automatic -g <resource group name> -n <vmss name>

Erreur : « Autorisation refusée : Le script n’est pas exécutable »

Ce problème se produit si vous essayez d’exécuter un script personnalisé, mais que le script n’est pas exécutable.

Pour résoudre le problème, vérifiez d’abord que l’entrée de customScript n’a pas ./ ou autre chose avant le nom du script 'test.sh':

    customScript: 'test.sh'

Ensuite, essayez d’ajouter une tâche de ligne de commande avant la tâche de groupe de machines virtuelles identiques :

    - task: CmdLine@2
      inputs:
        script: 'chmod 777 $(System.DefaultWorkingDirectory)/test.sh' 

Exigences

Exigence Description
Types de pipelines YAML, Build Classique, Version Classique
Exécutions sur Agent, DeploymentGroup
demandes Aucun
fonctionnalités de Cette tâche ne répond à aucune demande de tâches ultérieures dans le travail.
restrictions de commande Quelconque
variables settables Quelconque
Version de l’agent 2.209.0 ou version ultérieure
Catégorie de tâche Déployer
Exigence Description
Types de pipelines YAML, Build Classique, Version Classique
Exécutions sur Agent, DeploymentGroup
demandes Aucun
fonctionnalités de Cette tâche ne répond à aucune demande de tâches ultérieures dans le travail.
restrictions de commande Quelconque
variables settables Quelconque
Version de l’agent 2.0.0 ou version ultérieure
Catégorie de tâche Déployer