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
- Tam ve artımlı modları anlamak için bkz . Azure Resource Manager dağıtım modları.
- Şablonunuzda parametreleri tanımlamayı anlamak için bkz . Azure Resource Manager şablonlarının yapısını ve söz dizimini anlama.