التراجع عن الخطأ للنشر الناجح
عندما يفشل النشر، يمكنك تلقائيًا إعادة نشر عملية نشر سابقة وناجحة من محفوظات النشر الخاصة بك. هذه الوظيفة مفيدة إذا كانت لديك حالة جيدة معروفة لنشر البنية التحتية لديك وتريد العودة إلى هذه الحالة. يمكنك تحديد إما عملية نشر سابقة معينة أو آخر عملية نشر ناجحة.
هام
تعمل هذه الميزة على التراجع عن نشر فاشل عن طريق إعادة نشر سابق. قد تكون هذه النتيجة مختلفة عما تتوقعه من التراجع عن عملية النشر الفاشلة. تأكد من فهم كيفية إعادة نشر النشر السابق.
اعتبارات لإعادة الانتشار
قبل استخدام هذه الميزة، ضع في اعتبارك هذه التفاصيل حول كيفية معالجة إعادة النشر:
- يتم تشغيل النشر السابق باستخدام الوضع الكامل ، حتى إذا استخدمت الوضع المتزايد أثناء النشر السابق. يمكن أن تؤدي إعادة النشر في الوضع الكامل إلى نتائج غير متوقعة عند استخدام النشر السابق بشكل تزايدي. يعني الوضع الكامل أنه يتم حذف أي موارد لم يتم تضمينها في النشر السابق. حدد عملية نشر سابقة تمثل كافة الموارد وحالاتها التي تريد وجودها في مجموعة الموارد. لمزيد من المعلومات، راجع أوضاع النشر.
- يتم تشغيل إعادة النشر تمامًا كما تم تشغيلها مسبقًا باستخدام نفس المعلمات. لا يمكنك تغيير المعلمات.
- لا تؤثر إعادة التوزيع إلا على الموارد، ولا تتأثر أي تغييرات في البيانات.
- يمكنك استخدام هذه الميزة فقط مع عمليات نشر مجموعة الموارد. لا يدعم الاشتراك أو مجموعة الإدارة أو عمليات النشر على مستوى المستأجر. لمزيد من المعلومات حول نشر مستوى الاشتراك، راجع إنشاء مجموعات موارد وموارد على مستوى الاشتراك.
- يمكنك فقط استخدام هذا الخيار مع عمليات النشر على مستوى الجذر. عمليات النشر من قالب متداخل غير متاحة لإعادة النشر.
لاستخدام هذا الخيار، يجب أن يكون لعمليات النشر الخاصة بك أسماء فريدة في محفوظات النشر. يمكن تحديد عملية نشر معينة فقط باستخدام الأسماء الفريدة. إذا لم يكن لديك أسماء فريدة، فقد يؤدي النشر الفاشل إلى استبدال النشر الناجح في المحفوظات.
إذا قمت بتحديد عملية نشر سابقة غير موجودة في محفوظات النشر، فإن التراجع يقوم بإرجاع خطأ.
PowerShell
لإعادة نشر آخر عملية نشر ناجحة، أضف المعامل -RollbackToLastDeployment
كعلامة.
New-AzResourceGroupDeployment -Name ExampleDeployment02 `
-ResourceGroupName $resourceGroupName `
-TemplateFile c:\MyTemplates\azuredeploy.json `
-RollbackToLastDeployment
لإعادة نشر عملية نشر معينة، استخدم المعلمة -RollBackDeploymentName
وقم بتوفير اسم النشر. يجب أن يكون النشر المحدد قد نجح.
New-AzResourceGroupDeployment -Name ExampleDeployment02 `
-ResourceGroupName $resourceGroupName `
-TemplateFile c:\MyTemplates\azuredeploy.json `
-RollBackDeploymentName ExampleDeployment01
Azure CLI
لإعادة نشر آخر عملية نشر ناجحة، أضف المعامل --rollback-on-error
كعلامة.
az deployment group create \
--name ExampleDeployment \
--resource-group ExampleGroup \
--template-file storage.json \
--parameters storageAccountType=Standard_GRS \
--rollback-on-error
لإعادة نشر عملية نشر معينة، استخدم المعلمة --rollback-on-error
وقم بتوفير اسم النشر. يجب أن يكون النشر المحدد قد نجح.
az deployment group create \
--name ExampleDeployment02 \
--resource-group ExampleGroup \
--template-file storage.json \
--parameters storageAccountType=Standard_GRS \
--rollback-on-error ExampleDeployment01
REST API
لإعادة نشر آخر عملية نشر ناجحة إذا فشل النشر الحالي، استخدم:
{
"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",
}
}
}
لإعادة نشر عملية نشر معينة في حالة فشل النشر الحالي، استخدم:
{
"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>"
}
}
}
يجب أن يكون النشر المحدد قد نجح.
الخطوات التالية
- لفهم الأوضاع الكاملة والتزايدية، راجع أوضاع نشرAzure Resource Manager.
- لفهم كيفية تحديد المعلمات في القالب الخاص بك، راجع فهم بنية وبنية قوالب Azure Resource Manager.