أفكر في تحديث Discourse تلقائيًا عبر مهمة مجدولة (cronjob). على سبيل المثال، كل أسبوعين في الليل، مهمة مجدولة كالتالي:
cd /var/discourse
./launcher rebuild app
هل تعتقد أن هذا آمن للقيام به؟ أم يجب أن أقوم بذلك يدويًا؟
أفكر في تحديث Discourse تلقائيًا عبر مهمة مجدولة (cronjob). على سبيل المثال، كل أسبوعين في الليل، مهمة مجدولة كالتالي:
cd /var/discourse
./launcher rebuild app
هل تعتقد أن هذا آمن للقيام به؟ أم يجب أن أقوم بذلك يدويًا؟
من الممكن أن يحدث خطأ ما وتترك موقعك معطلاً. أوصي بأن تولي اهتمامًا عند القيام بذلك.
نعم. كنت أفكر في إرسال كل مخرجات البناء عبر البريد، حتى أتمكن من التحقق في الصباح.
شخصيًا، أفعل الشيء نفسه تمامًا مع مواقعي، لكني أستخدم التثبيت المكون من حاويتين في حال فشل التمهيد.
فقط إذا اكتمل التمهيد بنجاح، يتوقف الحاوية القديمة ويبدأ الحاوية الجديدة.
حتى الآن لم أواجه أي مشاكل.
كما قال جاي، في حالات نادرة، يمكن للتحديث أن يتسبب في مشاكل (سواء في Discourse نفسها أو مع المكونات الإضافية/المكونات).\nلقد رأيت ذلك يحدث مرتين أو ثلاث مرات في غضون سنوات قليلة. إنه نادر جدًا، ويتم إجراء الإصلاحات بسرعة، ولكن بسبب هذا، أميل إلى الحصول على معلومات حول التحديثات (والتحقق من فئة Bug
) قبل إعادة بناء مثيلاتي. غالبًا ما أنتظر بضعة أيام بعد إصدار إصدار جديد رسميًا.\n\nوأقوم بتشغيل ./launcher cleanup أحيانًا أيضًا.\n\nلذلك، أفضل التحديث عندما أريد وبعد جمع المعلومات. لدي سيطرة محتملة على الأضرار، وهذا أكثر أمانًا.
هل هناك أي جديد بخصوص هذا في عام 2026؟
أرغب في تطبيق تحديثات الأمان في أسرع وقت ممكن (حتى مع خطر تعطل موقع إنتاجي بسبب التحديث غير المراقب). في الواقع، لا يميز Discourse بين تحديثات الأمان والتحديثات الأخرى.. لذلك لا أمانع في تحديث كل شيء كل يوم. هل لا يزال cron job هو الطريقة المثلى؟
أنا شخصياً لن أفعل ذلك. من ناحية، أنا لا أحتاج حتى إلى التحديث شهريًا للحصول على إصلاحات أمنية - أي أنني أقرأ ملاحظات الإصدار وأتخذ قرارًا. من ناحية أخرى، إذا قمت بالتحديث يوميًا، فستواجه المزيد من المرات النادرة التي سيفشل فيها الأمر. سيكون لديك وقت تعطل أكثر، بالتأكيد.
إذا لم تمانع في أن مهمة cron ستقتل المنتدى في بعض الأحيان، حتى يأتي شخص ماهر لإصلاحه، فبالتأكيد، قم بتشغيل مهمة cron. ولكن ضع في اعتبارك أن الشخص الماهر قد يحتاج إلى إشراك المطورين هنا والانتظار لساعات أخرى حتى يتم تشخيص المشكلة وإصلاحها.
لم يكسر تحديث ديسكورش منتوئي الخاص بي في السنوات الأربع الماضية، لذا لست قلقًا. إذا حدث ذلك نادرًا، يمكنني تحمل ذلك.
قلقِي الأكبر يتعلق بالأمان، والأحداث الأخيرة (مثل حزم npm الخاصة بـ Axios قبل أسبوع…) مع ثغرات المكتبات تشير إلى أننا قد نرغب في تحديث المكتبات بعد 7 أيام من الإصدار الجديد.
لو كان من الممكن تحديث الأمور المتعلقة بالأمان فورًا والباقي بعد تأخير 7 أيام، لكان ذلك مثاليًا على الأرجح، لكنني لا أعتقد أن هذا مدعوم في ديسكورش.
قد لا يؤدي مشكلة في التحديث إلى تعطل المنتدى فحسب، بل قد يتسبب أيضًا في إدخال أخطاء جديدة بصمت، أو وظائف معطلة، أو عدم توافق الإضافات أو المكونات، إلخ — رغم أن ذلك نادر الحدوث.
حتى إذا زاد التكرار الكبير لتحديثات منتداك من مخاطر التعرض لتعطلات أو أخطاء، فيمكنك دائمًا مراقبة النتائج والعودة إلى الإصدار السابق إذا واجهت العديد من الإزعاجات.
ما أقصده هو أنه بينما قد لا تكون هذه الفكرة الأفضل وفقًا لبعض الآراء، إلا أنها ليست محفوفة بالمخاطر حقًا أيضًا.