تبديل فتحات النشر

مكتمل

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

تبديل فتحات النشر يدوياً

لتبديل فتحات النشر:

  1. انتقل إلى صفحة Deployment slots الخاصة بالتطبيق وحدد Swap. سيعرض مربع الحوار Swap الإعدادات في فتحات الهدف والمصدر المحددة التي سيتم تغييرها.

  2. حدد الفتحات المطلوبة Source وTarget. عادةً ما يكون الهدف هو فتحة الإنتاج. حدد أيضاً علامتي التبويب Source Changes وTarget Changes وتحقق من توقع تغييرات التكامل. عند الانتهاء، يمكنك تبديل الفتحات فوراً عن طريق تحديد Swap.

    لمعرفة كيفية تشغيل فتحة الهدف بالإعدادات الجديدة قبل حدوث التبديل فعلياً، لا تحدد "التبديل"، ولكن اتبع الإرشادات الواردة في Swap with preview أدناه.

  3. عند الانتهاء، أغلق مربع الحوار عن طريق تحديد Close.

تبديل مع المعاينة (التبديل متعدد المراحل)

قبل التبديل إلى الإنتاج باعتباره فتحة الهدف، تحقق من أن التطبيق يعمل بالإعدادات التي تم تبديلها. ويتم أيضاً تجهيز فتحة المصدر قبل اكتمال التبديل، وهو أمر مرغوب فيه للتطبيقات ذات المهام الحرجة.

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

وإذا ألغيت التبديل، فإن App Service يعيد تطبيق عناصر التكوين على فتحة المصدر.

للتبديل مع المعاينة:

  1. اتبع الخطوات السابقة في "تبديل فتحات النشر" ولكن حدد Perform swap with preview. سيعرض لك مربع الحوار كيفية تغير التكوين في فتحة المصدر في المرحلة 1، وكيف تتغير فتحة المصدر وفتحة الهدف في المرحلة 2.

  2. عندما تكون مستعداً لبدء التبديل، حدد Start Swap.

    عند انتهاء المرحلة 1، يتم إعلامك في مربع الحوار. قم بمعاينة التبديل في فتحة المصدر عن طريق الانتقال إلى https://<app_name>-<source-slot-name>.azurewebsites.net.

  3. عندما تكون مستعداً لإكمال التبديل المعلق، حدد Complete Swap في Swap action وحدد Complete Swap.

    لإلغاء تبديل معلق، حدد Cancel Swap بدلاً من ذلك.

  4. عند الانتهاء، أغلق مربع الحوار عن طريق تحديد Close.

تكوين التبديل التلقائي

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

إشعار

التبديل التلقائي غير مدعوم حاليا في تطبيقات الويب على Linux وWeb App للحاويات.

لتكوين التبديل التلقائي:

  1. انتقل إلى صفحة موارد التطبيق وحدد فتحة النشر التي تريد تكاملها للتبديل التلقائي. يوجد الإعداد في صفحة إعدادات Configuration > General.

  2. قم بتعيين تمكين التبديل التلقائي على تشغيل. ثم حدد فتحة الهدف المطلوبة لفتحة نشر التبديل التلقائي، وحدد Save في شريط الأوامر.

  3. قم بتنفيذ دفع التعليمات البرمجية إلى فتحة المصدر. يحدث التبديل التلقائي بعد وقت قصير، وينعكس التحديث على عنوان URL الخاص بفتحة الهدف.

تحديد التجهيز المخصص

قد تتطلب بعض التطبيقات إجراءات تجهيز مخصصة قبل التبديل. يتيح لك عنصر التكوين applicationInitialization في web.config تحديد إجراءات تهيئة مخصصة. وتنتظر عملية التبديل هذا التجهيز المخصص حتى ينتهي قبل التبديل مع فتحة الهدف. هذا نموذج لجزء web.config.

<system.webServer>
    <applicationInitialization>
        <add initializationPage="/" hostName="[app hostname]" />
        <add initializationPage="/Home/About" hostName="[app hostname]" />
    </applicationInitialization>
</system.webServer>

لمزيد من المعلومات حول تخصيص العنصر applicationInitialization، اطلع على أكثر حالات فشل تبديل فتحة النشر شيوعاً وكيفية إصلاحها.

ويمكنك أيضاً تخصيص سلوك التجهيز باستخدام أحد إعدادات التطبيق التالية أو كليهما:

  • WEBSITE_SWAP_WARMUP_PING_PATH: مسار لاختبار الاتصال لتجهيز موقعك. أضف إعداد التطبيق هذا عن طريق تحديد مسار مخصص يبدأ بشرطة مائلة كقيمة. مثال على ذلك /statuscheck . القيمة الافتراضية هي /.
  • WEBSITE_SWAP_WARMUP_PING_STATUSES: تعليمات استجابة برمجية HTTP صالحة لعملية التجهيز. أضف إعداد التطبيق هذا بقائمة تعليمات HTTP برمجية مفصولة بفواصل. مثال على ذلك 200,202 . إذا لم تكن تعليمات الحالة البرمجية التي تم إرجاعها موجودة في القائمة، فسيتم إيقاف عمليات التجهيز والتبديل. وتعد جميع تعليمات الاستجابة البرمجية صالحة بشكل افتراضي.
  • WEBSITE_WARMUP_PATH: مسار نسبي على الموقع يجب اختبار اتصاله عند إعادة تشغيل الموقع (ليس فقط أثناء تبديل الفتحات). تتضمن /statuscheck قيم المثال أو المسار الجذر، /.

العودة إلى الحالة السابقة ومراقبة التبادل

في حالة حدوث أي أخطاء في فتحة الهدف (على سبيل المثال، فتحة الإنتاج) بعد تبديل الفتحة، قم بإعادة الفتحات إلى حالات ما قبل التبديل عن طريق تبديل نفس الفتحتين على الفور.

وإذا استغرقت عملية التبديل وقتاً طويلاً حتى تكتمل، فيمكنك الحصول على معلومات حول عملية التبديل في سجل النشاط.

في صفحة موارد التطبيق في المدخل، في الجزء الأيمن، حدد Activity log.

ستظهر عملية التبديل في استعلام السجل كـ Swap Web App Slots. ويمكنك توسيعه وتحديد أحد العمليات الفرعية أو الأخطاء لمعرفة التفاصيل.