التراجع عن الخطأ للنشر الناجح

عندما يفشل النشر، يمكنك تلقائيًا إعادة نشر عملية نشر سابقة وناجحة من محفوظات النشر الخاصة بك. هذه الوظيفة مفيدة إذا كانت لديك حالة جيدة معروفة لنشر البنية التحتية لديك وتريد العودة إلى هذه الحالة. يمكنك تحديد إما عملية نشر سابقة معينة أو آخر عملية نشر ناجحة.

هام

تعمل هذه الميزة على التراجع عن نشر فاشل عن طريق إعادة نشر سابق. قد تكون هذه النتيجة مختلفة عما تتوقعه من التراجع عن عملية النشر الفاشلة. تأكد من فهم كيفية إعادة نشر النشر السابق.

اعتبارات لإعادة الانتشار

قبل استخدام هذه الميزة، ضع في اعتبارك هذه التفاصيل حول كيفية معالجة إعادة النشر:

  • يتم تشغيل النشر السابق باستخدام الوضع الكامل ، حتى إذا استخدمت الوضع المتزايد أثناء النشر السابق. يمكن أن تؤدي إعادة النشر في الوضع الكامل إلى نتائج غير متوقعة عند استخدام النشر السابق بشكل تزايدي. يعني الوضع الكامل أنه يتم حذف أي موارد لم يتم تضمينها في النشر السابق. حدد عملية نشر سابقة تمثل كافة الموارد وحالاتها التي تريد وجودها في مجموعة الموارد. لمزيد من المعلومات، راجع أوضاع النشر.
  • يتم تشغيل إعادة النشر تمامًا كما تم تشغيلها مسبقًا باستخدام نفس المعلمات. لا يمكنك تغيير المعلمات.
  • لا تؤثر إعادة التوزيع إلا على الموارد، ولا تتأثر أي تغييرات في البيانات.
  • يمكنك استخدام هذه الميزة فقط مع عمليات نشر مجموعة الموارد. لا يدعم الاشتراك أو مجموعة الإدارة أو عمليات النشر على مستوى المستأجر. لمزيد من المعلومات حول نشر مستوى الاشتراك، راجع إنشاء مجموعات موارد وموارد على مستوى الاشتراك.
  • يمكنك فقط استخدام هذا الخيار مع عمليات النشر على مستوى الجذر. عمليات النشر من قالب متداخل غير متاحة لإعادة النشر.

لاستخدام هذا الخيار، يجب أن يكون لعمليات النشر الخاصة بك أسماء فريدة في محفوظات النشر. يمكن تحديد عملية نشر معينة فقط باستخدام الأسماء الفريدة. إذا لم يكن لديك أسماء فريدة، فقد يؤدي النشر الفاشل إلى استبدال النشر الناجح في المحفوظات.

إذا قمت بتحديد عملية نشر سابقة غير موجودة في محفوظات النشر، فإن التراجع يقوم بإرجاع خطأ.

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

يجب أن يكون النشر المحدد قد نجح.

الخطوات التالية