Freigeben über


Rollback bei Fehler zu erfolgreicher Bereitstellung

Wenn eine Bereitstellung fehlschlägt, können Sie eine frühere, erfolgreiche Bereitstellung aus dem Bereitstellungsverlauf automatisch erneut bereitstellen. Diese Funktionalität ist nützlich, wenn Sie einen bekannten guten Zustand für Ihre Infrastrukturbereitstellung haben und diesen Zustand wiederherstellen möchten. Sie können entweder eine bestimmte frühere Bereitstellung oder die letzte erfolgreiche Bereitstellung angeben.

Von Bedeutung

Diese Funktion ermöglicht das Zurücksetzen einer fehlgeschlagenen Bereitstellung durch erneutes Bereitstellen einer früheren Bereitstellung. Dieses Ergebnis unterscheidet sich möglicherweise von dem, was Sie von der Rückgängigmachen der fehlgeschlagenen Bereitstellung erwarten würden. Stellen Sie sicher, dass Sie wissen, wie die frühere Bereitstellung erneut bereitgestellt wird.

Überlegungen zur erneuten Bereitstellung

Machen Sie sich vor der Verwendung dieses Features mit den folgenden Details zur Behandlung der erneuten Bereitstellung vertraut:

  • Die vorherige Bereitstellung wird mit dem vollständigen Modus ausgeführt, auch wenn Sie während der früheren Bereitstellung den inkrementellen Modus verwendet haben. Die erneute Bereitstellung im vollständigen Modus kann zu unerwarteten Ergebnissen führen, wenn bei der früheren Bereitstellung der inkrementelle Modus verwendet wurde. Der vollständige Modus bedeutet, dass alle Ressourcen, die nicht in der vorherigen Bereitstellung enthalten sind, gelöscht werden. Geben Sie eine frühere Bereitstellung an, die alle Ressourcen und deren Zustände darstellt, die in der Ressourcengruppe vorhanden sein sollen. Weitere Informationen finden Sie in den Bereitstellungsmodi.
  • Die erneute Bereitstellung wird genau so ausgeführt, wie sie zuvor mit denselben Parametern ausgeführt wurde. Sie können die Parameter nicht ändern.
  • Die erneute Bereitstellung wirkt sich nur auf die Ressourcen aus, alle Datenänderungen sind nicht betroffen.
  • Sie können dieses Feature nur für Ressourcengruppenbereitstellungen verwenden. Sie unterstützt keine Bereitstellungen auf Abonnement-, Verwaltungs- oder Mandantenebene. Weitere Informationen zur Bereitstellung auf Abonnementebene finden Sie unter Erstellen von Ressourcengruppen und Ressourcen auf Abonnementebene.
  • Diese Option kann nur für Bereitstellungen auf Stammebene verwendet werden. Bereitstellungen aus einer geschachtelten Vorlage können nicht erneut bereitgestellt werden.

Um diese Option zu verwenden, müssen Ihre Bereitstellungen eindeutige Namen im Bereitstellungsverlauf aufweisen. Eine bestimmte Bereitstellung kann nur mit eindeutigen Namen identifiziert werden. Ohne eindeutige Namen kann es passieren, dass eine erfolgreiche Bereitstellung im Verlauf durch eine nicht erfolgreiche Bereitstellung überschrieben wird.

Wenn Sie eine frühere Bereitstellung angeben, die im Bereitstellungsverlauf nicht vorhanden ist, gibt das Rollback einen Fehler zurück.

PowerShell

Um die letzte erfolgreiche Bereitstellung erneut bereitzustellen, fügen Sie den -RollbackToLastDeployment Parameter als Kennzeichnung hinzu.

New-AzResourceGroupDeployment -Name ExampleDeployment02 `
  -ResourceGroupName $resourceGroupName `
  -TemplateFile c:\MyTemplates\azuredeploy.json `
  -RollbackToLastDeployment

Um eine bestimmte Bereitstellung erneut bereitzustellen, verwenden Sie den -RollBackDeploymentName Parameter, und geben Sie den Namen der Bereitstellung an. Die angegebene Bereitstellung muss erfolgreich ausgeführt worden sein.

New-AzResourceGroupDeployment -Name ExampleDeployment02 `
  -ResourceGroupName $resourceGroupName `
  -TemplateFile c:\MyTemplates\azuredeploy.json `
  -RollBackDeploymentName ExampleDeployment01

Azure-Befehlszeilenschnittstelle (Azure CLI)

Um die letzte erfolgreiche Bereitstellung erneut bereitzustellen, fügen Sie den --rollback-on-error Parameter als Kennzeichnung hinzu.

az deployment group create \
  --name ExampleDeployment \
  --resource-group ExampleGroup \
  --template-file storage.json \
  --parameters storageAccountType=Standard_GRS \
  --rollback-on-error

Um eine bestimmte Bereitstellung erneut bereitzustellen, verwenden Sie den --rollback-on-error Parameter, und geben Sie den Namen der Bereitstellung an. Die angegebene Bereitstellung muss erfolgreich ausgeführt worden sein.

az deployment group create \
  --name ExampleDeployment02 \
  --resource-group ExampleGroup \
  --template-file storage.json \
  --parameters storageAccountType=Standard_GRS \
  --rollback-on-error ExampleDeployment01

REST-API

Um die letzte erfolgreiche Bereitstellung erneut bereitzustellen, wenn die aktuelle Bereitstellung fehlschlägt, verwenden Sie Folgendes:

{
  "properties": {
    "templateLink": {
      "uri": "http://mystorageaccount.blob.core.windows.net/templates/template.json",
      "contentVersion": "1.0.0.0"
    },
    "mode": "Incremental",
    "parametersLink": {
      "uri": "http://mystorageaccount.blob.core.windows.net/templates/parameters.json",
      "contentVersion": "1.0.0.0"
    },
    "onErrorDeployment": {
      "type": "LastSuccessful",
    }
  }
}

Um eine bestimmte Bereitstellung erneut bereitzustellen, wenn die aktuelle Bereitstellung fehlschlägt, verwenden Sie Folgendes:

{
  "properties": {
    "templateLink": {
      "uri": "http://mystorageaccount.blob.core.windows.net/templates/template.json",
      "contentVersion": "1.0.0.0"
    },
    "mode": "Incremental",
    "parametersLink": {
      "uri": "http://mystorageaccount.blob.core.windows.net/templates/parameters.json",
      "contentVersion": "1.0.0.0"
    },
    "onErrorDeployment": {
      "type": "SpecificDeployment",
      "deploymentName": "<deploymentname>"
    }
  }
}

Die angegebene Bereitstellung muss erfolgreich ausgeführt worden sein.

Nächste Schritte