Başarılı dağıtım hatasında geri alma

Bir dağıtım başarısız olduğunda, dağıtım geçmişinize göre daha önceki ve başarılı bir dağıtımı otomatik olarak yeniden dağıtmanız gerekir. Altyapı dağıtımınız için bilinen iyi bir durumunuz varsa ve bu durumla geri dönmek istemeniz bu işlevsellik için yararlıdır. Belirli bir önceki dağıtımı veya son başarılı dağıtımı belirtebilirsiniz.

Önemli

Bu özellik, önceki bir dağıtımı yeniden dağıtmayla başarısız olan bir dağıtımı geri almaktadır. Bu sonuç, başarısız dağıtımı geri almaktan beklediğinizden farklı olabilir. Önceki dağıtımın nasıl yeniden dağıtıldığından emin olun.

Yenidending ile ilgili dikkat edilmesi gerekenler

Bu özelliği kullanmadan önce, yeniden uygulamanın nasıl işlendikleri hakkında şu ayrıntıları göz önünde bulundurabilirsiniz:

  • Önceki dağıtım, önceki dağıtım sırasında artımlımod kullansanız bile tam mod kullanılarak çalışır. Tam modda yeniden dağıtım, önceki dağıtım artımlı kullanılırken beklenmeyen sonuçlar üretebilir. Tam mod, önceki dağıtıma dahil edilen kaynakların silinecek olduğu anlamına gelir. Kaynak grubunda var olmak istediğiniz tüm kaynakları ve bunların durumlarını temsil eden önceki bir dağıtım belirtin. Daha fazla bilgi için bkz. dağıtım modları.
  • Yenidendoyment, daha önce aynı parametrelerle çalıştırılan şekilde tam olarak çalıştırıldı. Parametreleri değiştiremezsiniz.
  • Yenidendoyman yalnızca kaynakları etkiler, tüm veri değişiklikleri etkilenmez.
  • Bu özelliği yalnızca kaynak grubu dağıtımları ile kullanabilirsiniz. Abonelik, yönetim grubu veya kiracı düzeyinde dağıtımları desteklemez. Abonelik düzeyinde dağıtım hakkında daha fazla bilgi için bkz. Abonelik düzeyinde kaynak grupları ve kaynaklar oluşturma.
  • Bu seçeneği yalnızca kök düzeyi dağıtımlarla kullanabilirsiniz. İç içe şablondan dağıtımlar yeniden dağıtım için kullanılamaz.

Bu seçeneği kullanmak için dağıtımlarınız dağıtım geçmişinde benzersiz adlara sahip olmalıdır. Yalnızca belirli bir dağıtımın belirlenilemeyen adları vardır. Benzersiz adlara sahip değilsanız, başarısız bir dağıtım geçmiş başarılı bir dağıtımın üzerine yazabilirsiniz.

Dağıtım geçmişinde mevcut olmayan önceki bir dağıtımı belirtirsiniz, geri alma bir hata döndürür.

PowerShell

Son başarılı dağıtımı yeniden dağıtma işlemi için -RollbackToLastDeployment parametresini bayrak olarak ekleyin.

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

Belirli bir dağıtımı yeniden dağıtma işlemi için -RollBackDeploymentName parametresini kullanın ve dağıtımın adını girin. Belirtilen dağıtımın başarılı olması gerekir.

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

Azure CLI

Son başarılı dağıtımı yeniden dağıtma işlemi için --rollback-on-error parametresini bayrak olarak ekleyin.

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

Belirli bir dağıtımı yeniden dağıtma işlemi için --rollback-on-error parametresini kullanın ve dağıtımın adını girin. Belirtilen dağıtımın başarılı olması gerekir.

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

REST API

Geçerli dağıtım başarısız olursa son başarılı dağıtımı yeniden dağıtma için şunları kullanın:

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

Geçerli dağıtım başarısız olursa belirli bir dağıtımı yeniden dağıtma için şunları kullanın:

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

Belirtilen dağıtımın başarılı olması gerekir.

Sonraki adımlar