AzureVmssDeployment@0: Azure VM Scale Set Deployment v0 task

Dieser Task stellt ein VM-Skalierungsgruppenimage bereit.

Syntax

# 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.

Eingaben

azureSubscription - Azure-Abonnement
Eingabealias: ConnectedServiceName. string. Erforderlich.

Gibt das Azure Resource Manager-Abonnement für die Skalierungsgruppe an.


action - Aktion
string. Erforderlich. Zulässige Werte: Update image (Vm-Skalierungsgruppe mithilfe eines Images aktualisieren), Configure application startup (Ausführen der VM-Erweiterung für benutzerdefinierte Skripts auf VM-Skalierungsgruppe). Standardwert. Update image.

Updates eine VM-Skalierungsgruppe durch die ausgewählte Methode, mithilfe eines VHD-Images und/oder durch Ausführen von Bereitstellungs-/Installationsskripts mithilfe der VM-Erweiterung für benutzerdefinierte Skripte.

Der VHD-Imageansatz eignet sich besser für die schnelle Skalierung und das Ausführen eines Rollbacks. Wenn eine VM-Skalierungsgruppe mithilfe eines benutzerdefinierten Images erstellt wird, kann sie von einem VHD-Image aktualisiert werden. Das Update schlägt fehl, wenn die VM-Skalierungsgruppe mithilfe eines in Azure verfügbaren Plattform-/Katalogimages erstellt wurde.

Der Ansatz der benutzerdefinierten Skript-VM-Erweiterung ist nützlich für die Konfiguration nach der Bereitstellung, die Softwareinstallation oder andere Konfigurations-/Verwaltungsaufgaben. Der Ansatz der benutzerdefinierten Skript-VM-Erweiterung kann für eine VM-Skalierungsgruppe verwendet werden, die entweder mithilfe eines benutzerdefinierten Images oder eines Plattform-/Katalogimages erstellt wird.


vmssName - Name der VM-Skalierungsgruppe
string. Erforderlich.

Gibt den Namen der zu aktualisierenden VM-Skalierungseinstellung an. Verwenden Sie entweder ein VHD-Image oder eine benutzerdefinierte Skript-VM-Erweiterung.


vmssOsType - Betriebssystemtyp
string. Erforderlich. Zulässige Werte: Windows, Linux.

Gibt den Betriebssystemtyp der VM-Skalierungsgruppe an.


imageUrl - Bild-URL
string. Erforderlich, wenn action = Update image || action = UpdateImage.

Gibt die URL des VHD-Images an. Wenn es sich um eine Azure Storage-Blob-URL handelt, ist der Speicherort des Speicherkontos mit dem Speicherort des Skalierungsgruppen identisch.


customScriptsDirectory - Verzeichnis des benutzerdefinierten Skripts
string. Optional. Verwenden Sie , wenn action = Configure application startup || action = Update image || action = UpdateImage.

Optional. Der Pfad zu dem Verzeichnis, das die benutzerdefinierten Skripts enthält, die mithilfe der VM-Erweiterung für benutzerdefinierte Skripts ausgeführt werden. Der Ansatz der Erweiterung ist nützlich für die Konfiguration nach der Bereitstellung, die Installation von Anwendungen/Software oder jede andere Aufgabe der Anwendungskonfiguration/-verwaltung. Das Skript kann beispielsweise eine Umgebungsvariable auf Computerebene festlegen, die die Anwendung verwendet, z. B. Datenbankverbindungszeichenfolgen.


customScript - Befehl
string. Optional. Verwenden Sie , wenn action = Configure application startup || action = Update image || action = UpdateImage.

Optional. Das Skript, das mithilfe der VM-Erweiterung für benutzerdefinierte Skripts ausgeführt wird. Dieses Skript kann andere Skripts im Verzeichnis aufrufen und wird mit den unten übergebenen Argumenten aufgerufen.
In Verbindung mit solchen Argumenten kann dieses Skript zum Ausführen von Befehlen verwendet werden.

Beispiel:

  1. Update-DatabaseConnectionStrings.ps1 -clusterType dev -user $(dbUser) -password $(dbUserPwd)aktualisiert die Verbindungszeichenfolge in web.config der Webanwendung.
  2. install-secrets.sh --key-vault-type prod -key serviceprincipalkey erstellt eine verschlüsselte Datei, die einen Dienstprinzipalschlüssel enthält.

customScriptArguments - Argumente
string. Optional. Verwenden Sie , wenn action = Configure application startup || action = Update image || action = UpdateImage.

Optional. Das benutzerdefinierte Skript wird mit übergebenen Argumenten aufgerufen. Build-/Releasevariablen können verwendet werden, was die Verwendung von Geheimnissen vereinfacht.


customScriptsStorageAccount - Azure-Speicherkonto, in das benutzerdefinierte Skripts hochgeladen werden
string. Optional. Verwenden Sie , wenn action = Configure application startup || action = Update image || action = UpdateImage.

Optional. Die benutzerdefinierte Skripterweiterung lädt die bereitgestellten Skripts herunter und führt sie auf jedem virtuellen Computer in der VM-Skalierungsgruppe aus. Diese Skripts werden in dem bereits vorhandenen ARM-Speicherkonto gespeichert, das hier angegeben ist.


skipArchivingCustomScripts - Überspringen der Archivierung benutzerdefinierter Skripts
boolean. Standardwert. false.

Optional. Standardmäßig erstellt diese Aufgabe ein komprimiertes Archiv des Verzeichnisses, das die benutzerdefinierten Skripts enthält. Dies verbessert die Leistung und Zuverlässigkeit beim Hochladen in Azure Storage. Wenn dies nicht der Fall ist, wird die Archivierung nicht durchgeführt, und alle Dateien werden einzeln hochgeladen.


Optionen für die Vorgangskontrolle

Alle Vorgänge verfügen zusätzlich zu ihren Eingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerungsoptionen und allgemeine Aufgabeneigenschaften.

Ausgabevariablen

Keine.

Hinweise

Verwenden Sie diese Aufgabe, um ein VM-Skalierungsgruppenimage bereitzustellen.

Die Skriptausführung wird als erfolgreich gemeldet, die VMSS-Instanzen werden jedoch nicht aktualisiert.

Skalierungsgruppen verfügen über eine Upgraderichtlinie, die bestimmt, wie VMs mit dem neuesten Skalierungsgruppenmodell auf den neuesten Stand gebracht werden. Wenn die Upgraderichtlinie auf manuell festgelegt ist, müssen Sie jeden virtuellen Computer manuell aktualisieren. Weitere Informationen finden Sie unter So bringen Sie VMs mit dem neuesten Skalierungsgruppenmodell auf den neuesten Stand. Sie können die Updaterichtlinie ändern oder jede VM manuell aktualisieren. Verwenden Sie beispielsweise den folgenden Az CLI-Befehl, um die Richtlinie auf Automaticzu aktualisieren: az vmss update --set upgradePolicy.mode=Automatic -g <resource group name> -n <vmss name>

Fehler: "Berechtigung verweigert: Skript ist nicht ausführbar"

Dieses Problem tritt auf, wenn Sie versuchen, ein benutzerdefiniertes Skript auszuführen, aber das Skript ist nicht ausführbar.

Um das Problem zu beheben, stellen Sie zunächst sicher, dass die customScript Eingabe nicht ./ oder etwas anderes vor dem Skriptnamen 'test.sh'enthält:

    customScript: 'test.sh'

Versuchen Sie als Nächstes, einen Befehlszeilentask vor dem Vm-Skalierungsgruppentask hinzuzufügen:

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

Anforderungen

Anforderung BESCHREIBUNG
Pipelinetypen YAML, Klassischer Build, klassische Version
Wird ausgeführt auf Agent, DeploymentGroup
Forderungen Keine
Capabilities Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag.
Befehlseinschränkungen Any
Einstellbare Variablen Any
Agent-Version 2.0.0 oder höher
Aufgabenkategorie Bereitstellen