Aracılığıyla paylaş


Hata durumunda başarılı dağıtım için geri alma

Bir dağıtım başarısız olduğunda, dağıtım geçmişinizden önceki ve başarılı bir dağıtımı otomatik olarak yeniden dağıtabilirsiniz. Bu işlevsellik, altyapı dağıtımınız için bilinen iyi bir duruma sahipseniz ve bu duruma geri dönmek istiyorsanız kullanışlı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ğıtarak başarısız bir dağıtımı geri alır. Bu sonuç, başarısız dağıtımı geri almaktan beklediğinizden farklı olabilir. Önceki dağıtımın nasıl tekrar dağıtıldığını anladığınızdan emin olun.

Yeniden dağıtmayla ilgili dikkat edilmesi gerekenler

Bu özelliği kullanmadan önce, yeniden dağıtımın nasıl işleneceğini gösteren şu ayrıntıları göz önünde bulundurun:

  • Önceki dağıtım, önceki dağıtım sırasında artımlı mod kullansanız bile tam mod kullanılarak çalıştırılır. Tam modda yeniden dağıtım, önceki dağıtım artımlı olarak kullanıldığında beklenmeyen sonuçlara neden olabilir. Tam mod, önceki dağıtıma dahil olmayan tüm kaynakların silindiği anlamına gelir. Kaynak grubunda var olmasını 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ı.
  • Yeniden dağıtım, daha önce aynı parametrelerle çalıştırıldığı gibi tam olarak çalıştırılır. Parametreleri değiştiremezsiniz.
  • Yeniden dağıtım yalnızca kaynakları etkiler, veri değişiklikleri etkilenmez.
  • Bu özelliği yalnızca kaynak grubu dağıtımlarıyla kullanabilirsiniz. Abonelik, yönetim grubu veya kiracı düzeyi dağıtımlarını desteklemez. Abonelik düzeyi 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üzeyinde dağıtımlarda kullanabilirsiniz. İç içe bir şablondan yapılan dağıtımlar yeniden dağıtım için kullanılamaz.

Bu seçeneği kullanmak için dağıtımlarınızın dağıtım geçmişinde benzersiz adlara sahip olması gerekir. Yalnızca benzersiz adlarla belirli bir dağıtım tanımlanabilir. Benzersiz adlarınız yoksa, başarısız bir dağıtım geçmişteki başarılı bir dağıtımın üzerine yazmasına neden olabilir.

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

PowerShell

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

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

Belirli bir dağıtımı yeniden dağıtmak için parametresini -RollBackDeploymentName kullanın ve dağıtımın adını belirtin. Belirtilen dağıtım başarılı olmalıdır.

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

Azure Komut Satırı Arayüzü (Azure CLI)

Son başarılı dağıtımı yeniden dağıtmak için --rollback-on-error parametreyi 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ğıtmak için parametresini --rollback-on-error kullanın ve dağıtımın adını belirtin. Belirtilen dağıtım başarılı olmalıdır.

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ğıtmak için şunu 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ğıtmak için şunu 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 başarılı olmalıdır.

Sonraki Adımlar