لقد قمنا بتحديث إعداد Discourse موجود كما فعلنا عدة مرات من قبل: بعد سحب المراجعة الحالية لمستودع discourse_docker، نقوم بتشغيل الأمر التالي:
./launcher rebuild app
يتم تشغيله دون خطأ ويقوم أيضًا بتشغيل الحاوية الجديدة - يبدو كل شيء على ما يرام.
ولكن عند فحص مصدر HTML للتطبيق قيد التشغيل، نرى أنه لا يزال يدعي أنه الإصدار v3.5.2 (الإصدار الذي كان قبل التحديث) - بدلاً من الإصدار المتوقع v2025.11.0
إجرائنا هو نفسه كما في التحديثات السابقة. الشيء الوحيد الذي تغير بشكل واضح هو نظام ترقيم الإصدارات الذي تم تقديمه مع v2025.11.0 - ربما يكون مرتبطًا بهذا التغيير؟
لقد تحققت مما إذا كان في الكود المصدري لـ Discourse قد تم نسيان تحديث سلسلة الإصدار، ولكن هذا ليس هو الحال، شاهد الالتزامين (commits):
من المخرجات لأمر إعادة بناء المشغل (launcher)، لاحظت أنه يقوم بسحب git pull ويرى/يكتشف الفروع الجديدة:
(... )
t [tag update] beta -> beta
t [tag update] latest-release -> latest-release
* [new tag] release -> release
* [new tag] v2025.11.0 -> v2025.11.0
* [new tag] v2025.12.0-latest -> v2025.12.0-latest
* [new tag] v3.5.2 -> v3.5.2
* [new tag] v3.6.0.beta2 -> v3.6.0.beta2
Switched to a new branch 'stable'
I, [2025-12-03T12:27:14.785550 #1] INFO -- : branch 'stable' set up to track 'origin/stable'.
ومع ذلك، لا يزال الأمر يبدو وكأنه يختار الفرع الخاطئ (بمعنى أنه ليس الأحدث). يبدو أن الفرع “stable” يحتوي على v3.5.2 (وفقًا لـ lib/version.rb في ذلك الفرع)
أعدت قراءة إعلان الإصدار لـ 2025.11.0 وهو بالفعل يبدو وكأنه إصدار مستقر، وليس مجرد إصدار تجريبي / للمتبنين الأوائل. تشير استراتيجية الإصدار الجديدة المرتبطة إلى الفرع latest، ولكني الآن لست أقل حيرة بشأن ما يجب توقعه.
هل فاتني شيء ما؟ أو هل يمكننا التأثير على الإصدار الذي سيتم اختياره أثناء إعادة البناء؟ أو هل هي مجرد أداة إعادة البناء التي لا تعمل كما هو مقصود في الوقت الحالي وتحتاج إلى تغيير؟
لست متأكدًا مما إذا كان هذا مرتبطًا، ولكن على Docker hub، العلامة “latest” هي 3.5.2 - وعند الترتيب العددي تنازليًا، قد تكون هذه هي أحدث علامة لفترة طويلة جدًا…
هذا محير. سيكون من المنطقي أكثر تحويل الجميع إلى مخطط الإصدار الجديد دفعة واحدة، ولكن لا معنى أيضًا أن تتم الترقية المستقرة عندما لا يكون هناك إصدار مستقر جديد. لقد كنت مرتبكًا، وأحب أن أعتقد أنني أنتبه إلى هذه الأشياء. أتذكر الآن بعض المناقشات من ريتشارد حول هذا الأمر ولكني لم أهتم بما فيه الكفاية لأفهم.
شكرًا لك @david - هذا على الأقل يساعد لأنني أفهم الآن أنني لم أرتكب أي خطأ.
الآن تبقى المشكلة بالنسبة لنا، كيف نقرر ما هو “إصدار شهري” وما هو “إصدار مستقر”؟
نحن نجلب خلاصة Atom من Github (للحصول على إشعار حول الإصدارات المكتشفة حديثًا) ويظهر 2025.11.0 و 3.5.2 بنفس الطريقة (جنبًا إلى جنب مع العديد من العلامات الأخرى).
إذًا، كيف / أين يمكننا بسهولة معرفة نية فريقكم لعلامة إصدار معينة؟
أنا أتفق مع @pfaffman، الأمر مربك للغاية في الوقت الحالي.
أتفهم تمامًا ولم يكن قصدي من تعليقاتي وأسئلتي هجوميًا.
لقد قمنا بالتحديث على سبيل المثال من 3.5.0، مروراً بـ 3.5.1 إلى 3.5.2 في الماضي. لا أعرف ما إذا كان ذلك “مستقراً” (stable) أو “أحدث” (latest) أو أياً كان ما يسمى في المخطط القديم أو الآن في المخطط الجديد. أنا موافق على تغيير نظام الإصدار والإطلاق - ولكني لست قريبًا بما يكفي من المشروع/المنتج لكي أفهم أو أرغب في فهم جميع تفاصيل نظام الإصدار والإطلاق الجديد بالكامل.
شكرًا لك على ردك السريع جدًا وعلى التلميح المفيد بأن 3.5.2 لا يزال جيدًا للاستخدام، فقد ساعد ذلك.
و:
شكرًا لك @david - هذا يبدو جيدًا جدًا! نحن نتطلع إلى رؤية هذه الصفحة متاحة - ومن المأمول أن تبسط إجراء التحديث لدينا كثيرًا!