Terugdraaien van fout bij geslaagde implementatie

Wanneer een implementatie mislukt, kunt u een eerdere, geslaagde implementatie automatisch opnieuw implementeren vanuit uw implementatiegeschiedenis. Deze functionaliteit is handig als u een bekende goede status hebt voor uw infrastructuurimplementatie en wilt terugkeren naar deze status. U kunt een bepaalde eerdere implementatie of de laatste geslaagde implementatie opgeven.

Belangrijk

Met deze functie wordt een mislukte implementatie teruggedraaid door een eerdere implementatie opnieuw te implementeren. Dit resultaat kan afwijken van wat u zou verwachten van het ongedaan maken van de mislukte implementatie. Zorg ervoor dat u begrijpt hoe de eerdere implementatie opnieuw wordt geïmplementeerd.

Overwegingen voor opnieuw implementeren

Voordat u deze functie gebruikt, moet u rekening houden met de volgende details over hoe de herimplementatie wordt verwerkt:

  • De vorige implementatie wordt uitgevoerd in de volledige modus, zelfs als u de incrementele modus tijdens de eerdere implementatie hebt gebruikt. Opnieuw implementeren in de volledige modus kan onverwachte resultaten opleveren wanneer de eerdere implementatie incrementeel is gebruikt. De modus Volledig betekent dat alle resources die niet zijn opgenomen in de vorige implementatie, worden verwijderd. Geef een eerdere implementatie op die alle resources en hun statussen vertegenwoordigt die u in de resourcegroep wilt opnemen. Zie implementatiemodi voor meer informatie.
  • De herimplementatie wordt precies zo uitgevoerd als eerder met dezelfde parameters. U kunt de parameters niet wijzigen.
  • De herimplementatie is alleen van invloed op de resources, eventuele gegevenswijzigingen worden niet beïnvloed.
  • U kunt deze functie alleen gebruiken met resourcegroepimplementaties. Het biedt geen ondersteuning voor implementaties op abonnements-, beheergroep- of tenantniveau. Zie Resourcegroepen en resources maken op abonnementsniveau voor meer informatie over implementatie op abonnementsniveau.
  • U kunt deze optie alleen gebruiken met implementaties op hoofdniveau. Implementaties van een geneste sjabloon zijn niet beschikbaar voor herimplementatie.

Als u deze optie wilt gebruiken, moeten uw implementaties unieke namen hebben in de implementatiegeschiedenis. Alleen met unieke namen kan een specifieke implementatie worden geïdentificeerd. Als u geen unieke namen hebt, kan een mislukte implementatie een geslaagde implementatie in de geschiedenis overschrijven.

Als u een eerdere implementatie opgeeft die niet bestaat in de implementatiegeschiedenis, retourneert het terugdraaien een fout.

PowerShell

Als u de laatste geslaagde implementatie opnieuw wilt implementeren, voegt u de -RollbackToLastDeployment parameter toe als vlag.

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

Als u een specifieke implementatie opnieuw wilt implementeren, gebruikt u de -RollBackDeploymentName parameter en geeft u de naam van de implementatie op. De opgegeven implementatie moet zijn voltooid.

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

Azure CLI

Als u de laatste geslaagde implementatie opnieuw wilt implementeren, voegt u de --rollback-on-error parameter toe als vlag.

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

Als u een specifieke implementatie opnieuw wilt implementeren, gebruikt u de --rollback-on-error parameter en geeft u de naam van de implementatie op. De opgegeven implementatie moet zijn voltooid.

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

REST-API

Als u de laatste geslaagde implementatie opnieuw wilt implementeren als de huidige implementatie mislukt, gebruikt u:

{
  "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",
    }
  }
}

Als u een specifieke implementatie opnieuw wilt implementeren als de huidige implementatie mislukt, gebruikt u:

{
  "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>"
    }
  }
}

De opgegeven implementatie moet zijn voltooid.

Volgende stappen