أواجه مشكلة غريبة لم أواجهها من قبل. لقد وصلتني رسالة بريد إلكتروني تفيد بوجود تحديث لتثبيت Discourse الخاص بي. عند النقر عليها، أُخبرت أنني بحاجة إلى تحديث تثبيت Docker قبل أن أتمكن من تحديث أي شيء آخر.
لقد رأيت ذلك مرات عديدة من قبل، لذا قمت بترقيته باستخدام برنامج التثبيت بنقرة واحدة. ما كان مختلفًا هذه المرة هو أنني غادرت أثناء العملية. عندما عدت بعد بضع ساعات، رأيت أن Docker قد تم تثبيته بنجاح.
نقرت على “الإصدارات” في الأعلى حتى أتمكن من تحديث كل شيء آخر. ولكن عند تحميل تلك الشاشة، كانت فارغة تمامًا. بدت هكذا:
أرى هذه المشكلة منشورة بين الحين والآخر. هل من الممكن دمج آلية ما لإعادة البناء وجلب نسخة جديدة عند الحاجة لهذه الأنواع من الترقيات؟ أفكر فقط في الأشخاص الذين قد لا تكون لديهم إمكانية تشغيل تلك الأوامر، وقد يكون دعم المساعدة بطيئًا في الاستجابة لإعادة البناء، مما قد يؤدي إلى تنفيذ العملية في وقت غير مناسب لمدير الموقع.
هذه نقطة عادلة، ومن الواضح في النهاية أن هناك خطوة سيتعين معالجتها يدويًا من حيث الترقية. أود أن أدافع عن الرأي القائل بأن عملية الإدارة يجب أن تشهد عددًا أقل بكثير من عمليات إعادة البناء إذا كانت مهمتها الأساسية هي استدعاء إعادة بناء التطبيق. يجب أن يمكن تنفيذ ذلك مع عدد قليل جدًا من التبعيات وعدد قليل جدًا من التغييرات المتتالية.
إذا لم ترغب في الترقية بشكل متكرر، فربما لا تتردد في الترقية بنفس القدر من التكرار.
لا أعتقد أنك قدمت حجة مقنعة لعدم الاستمرار في تقديم تحسينات للصورة الأساسية. الحاجة إلى التحديث عبر سطر الأوامر تختلف من حالة لأخرى، وهي ليست متكررة بشكل خاص، وحتى نادرة للغاية هي الحالات التي تكون فيها هناك حاجة ماسة للقيام بذلك.
في الواقع، لم أدرك أنني أقدم حجة لذلك. أؤكد لك أنني بالتأكيد لا أدعو إلى تقليل وتيرة إصدار التحديثات
إنني أقدم ببساطة بعض الملاحظات حول ما أعتقد أنه ميزة لتحسين جودة الحياة، بغض النظر عن ندرتها أو ما قد تسببه من إزعاج. ليس لدي أي مشكلة في تشغيل الأمر عند الحاجة.
ربما يكون الحل الوسط هو أنه عند تطبيق تحديث يتطلب تشغيل ذلك الأمر، يتم إشعار المسؤول عبر لوحة التحكم في مكان ما (أو عبر شريط إشعار، لا أدري؟) يوضح بوضوح ما هو المطلوب. (قد يؤدي هذا أيضًا إلى تقليل عدد المنشورات التي تظهر بين الحين والآخر مثل: “لقد قمت بالتحديث والآن xyz فارغ/مفقود/لا يعمل”).
لقد قمت للتو بإصلاح السبب الجذري الذي تسبب في ظهور الشاشة بيضاء.
كان لدينا ترقية لإضافة docker manager التي لم تكن متوافقة مع الإصدارات الأقدم من discourse، لذا أضفت بعض الأكواد لاستعادة التوافق. للأسف، بمجرد أن تصبح الشاشة بيضاء، فإن الحل الوحيد المتاح لك هو:
شكرًا لك، سام (و@gerhard!). لقد مررتُ بمواقف طُلب مني فيها استخدام سطر الأوامر لإعادة بناء التطبيق قبل الترقية، لكن هذه هي المرة الأولى التي أواجه فيها هذه الشاشة البيضاء. من الجيد معرفة أن هناك سببًا لذلك، وأن ذلك أدى إلى إصلاح المشكلة.
أقوم الآن بإعادة بناء الأشياء باستخدام سطر الأوامر.
تم التعديل للإضافة: اكتمل الإجراء، وكل شيء على ما يرام. تظهر صفحة الإصدارات جميع الإضافات الخاصة بي وأن كل شيء تم تحديثه.