بعد تحديث Docker عبر التحديث بنقرة واحدة، لا تظهر الإصدارات

مرحبًا،

أواجه مشكلة غريبة لم أواجهها من قبل. لقد وصلتني رسالة بريد إلكتروني تفيد بوجود تحديث لتثبيت Discourse الخاص بي. عند النقر عليها، أُخبرت أنني بحاجة إلى تحديث تثبيت Docker قبل أن أتمكن من تحديث أي شيء آخر.

لقد رأيت ذلك مرات عديدة من قبل، لذا قمت بترقيته باستخدام برنامج التثبيت بنقرة واحدة. ما كان مختلفًا هذه المرة هو أنني غادرت أثناء العملية. عندما عدت بعد بضع ساعات، رأيت أن Docker قد تم تثبيته بنجاح.

نقرت على “الإصدارات” في الأعلى حتى أتمكن من تحديث كل شيء آخر. ولكن عند تحميل تلك الشاشة، كانت فارغة تمامًا. بدت هكذا:

ثم عدت إلى البريد الإلكتروني الأصلي ونقرت على رابط محدّث بنقرة واحدة. حصلت على نفس النتيجة.

جربت تحميل الرابط https://community.amwcomics.com/admin/upgrade في متصفح مختلف. حصلت على نفس النتيجة.

هل لديك أي فكرة عما أفعله خطأ؟ بخلاف هذا، موقعي يعمل بشكل جيد. أنا فقط لا أرى أي شيء الآن في محدّث بنقرة واحدة.

تحتاج إلى إعادة بناء التطبيق من سطر الأوامر لحل هذه المشكلة:

cd /var/discourse
git pull
./launcher rebuild app

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

يتم إيقاف التطبيق بالكامل لإعادة بنائه، ولا يوجد أي شيء يعمل لإدارة هذه العملية.

إذا تم إنشاء عملية إدارة، فماذا سنفعل عندما تحتاج هذه العملية إلى إعادة البناء؟

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

إذا لم ترغب في الترقية بشكل متكرر، فربما لا تتردد في الترقية بنفس القدر من التكرار.

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

في الواقع، لم أدرك أنني أقدم حجة لذلك. أؤكد لك أنني بالتأكيد لا أدعو إلى تقليل وتيرة إصدار التحديثات :slight_smile:

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

ربما يكون الحل الوسط هو أنه عند تطبيق تحديث يتطلب تشغيل ذلك الأمر، يتم إشعار المسؤول عبر لوحة التحكم في مكان ما (أو عبر شريط إشعار، لا أدري؟) يوضح بوضوح ما هو المطلوب. (قد يؤدي هذا أيضًا إلى تقليل عدد المنشورات التي تظهر بين الحين والآخر مثل: “لقد قمت بالتحديث والآن xyz فارغ/مفقود/لا يعمل”).

لقد قمت للتو بإصلاح السبب الجذري الذي تسبب في ظهور الشاشة بيضاء.

كان لدينا ترقية لإضافة docker manager التي لم تكن متوافقة مع الإصدارات الأقدم من discourse، لذا أضفت بعض الأكواد لاستعادة التوافق. للأسف، بمجرد أن تصبح الشاشة بيضاء، فإن الحل الوحيد المتاح لك هو:

cd /var/discourse
./launcher rebuild app

شكرًا لك، سام (و@gerhard!). لقد مررتُ بمواقف طُلب مني فيها استخدام سطر الأوامر لإعادة بناء التطبيق قبل الترقية، لكن هذه هي المرة الأولى التي أواجه فيها هذه الشاشة البيضاء. من الجيد معرفة أن هناك سببًا لذلك، وأن ذلك أدى إلى إصلاح المشكلة.

أقوم الآن بإعادة بناء الأشياء باستخدام سطر الأوامر. :slight_smile:

تم التعديل للإضافة: اكتمل الإجراء، وكل شيء على ما يرام. تظهر صفحة الإصدارات جميع الإضافات الخاصة بي وأن كل شيء تم تحديثه.