Aracılığıyla paylaş


Başarılı dağıtım için hatada 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 yeniden dağıtıldığından 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 belirli bir dağıtımın tanımlanabileceği benzersiz adlarla kullanılır. Benzersiz adlarınız yoksa, başarısız bir dağıtım geçmişe başarılı bir dağıtımın üzerine yazabilir.

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 parametresini -RollbackToLastDeployment 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 CLI

Son başarılı dağıtımı yeniden dağıtmak için parametresini --rollback-on-error 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