عالق عند الإصدار v2.9.0.beta1 – الآن يعمل على 3.4.0.beta4-dev بعد تعطيل Hooks: كيف يمكنني التثبيت على الإصدارات المستقرة؟

كانت لدي مشكلة طويلة الأمد مع تثبيت Discourse عالق عند الإصدار v2.9.0.beta1 - بسبب تحديات شخصية، لم أتمكن من حلها لسنوات. في ذلك الوقت، بدا من المستحيل الانتقال إلى الإصدار v2.9.0.beta2. مؤخرًا، أثناء استكشاف مشكلة إعادة بناء، قمت بالتعليق على بعض الخطافات في ملف app.yml الخاص بي (على وجه التحديد، تلك التي تفرض سحب علامة) كما يلي:

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
    - exec:
        cd: $home
        cmd:
          # - git fetch --depth=1 origin tag v2.9.0.beta2 --no-tags
          # - git checkout v2.9.0.beta2
          - echo "Skipping version upgrade hook"

بعد إعادة البناء، تم تحديث مثيلي بشكل غير متوقع إلى الإصدار 3.4.0.beta4-dev. بينما يسعدني تجاوز هذه المشكلة، أريد الآن أن يستمر النظام في متابعة تدفق الإصدارات التجريبية 3.4.0 حتى يتوفر إصدار مستقر 3.4.x - وبمجرد توفره، قم بتثبيت هذا الإصدار المستقر حتى لا يتم ترقيته تلقائيًا إلى إصدارات تجريبية أو تطويرية أخرى.

ما هي الطريقة الصحيحة “لتثبيت” أو قفل الإصدار عند إصدار مستقر بمجرد توفره، دون الحاجة إلى التراجع أو إجراء تدخلات يدوية في كل عملية إعادة بناء؟

أي توجيهات أو أفضل الممارسات ستكون موضع تقدير كبير!

يمكنك إلقاء نظرة على هذا الدليل:

غير tests-passed إلى stable في ملف app.yml الخاص بك. إذا لم يكن ذلك موجودًا في ملف yml الخاص بك، يمكنك النظر في دليل العينات.

إعجاب واحد (1)

شكرًا، لذا كان لدي:

  ## Which Git revision should this container use? (default: tests-passed)
  #version: tests-passed

لقد قمت بتحديثه إلى:

  ## Which Git revision should this container use? (default: tests-passed)
  version: stable

بعد إعادة البناء، أصبح النظام الآن عند: 3.5.0.beta1-dev

وهو ما يبدو أكثر غرابة/غرابة. :thinking:

يبدو أنك قمت بتغيير الإصدار إلى مستقر بعد إعادة البناء. لقد تجاوزت مرحلة الاستقرار الآن، لذا ستحتاج إلى تغييره إلى بيتا أو اختبارات-اجتازت حتى الإصدار المستقر التالي (وبما أنه كان هناك إصدار في الأسبوع الماضي، فسيكون ذلك بعد وقت طويل (عادةً 8-10 أشهر)

إعجاب واحد (1)

لا، للأسف لم أفعل… أنا متأكد بنسبة 100% من هذا، لقد كان على 3.4.0.beta4-dev ثم قمت بتغيير app.yml ثم قمت بإعادة البناء. ثم ظهر 3.5.0.beta1-dev. هذا هو المسار الذي تم اتباعه بنسبة 100%… ليس لدي أدنى شك لتوضيح الأمر. لقد قمت بالتحقق من الأشياء حرفيًا قبل الإجراءات التي لاحظتها.

هل يبدأ السطر الذي يحتوي على tests-passed بالرمز #؟

لقطة شاشة للمحرر:

تم التعليق عليه، لذا لا يهم ما وضعته هناك والافتراضي هو اجتياز الاختبارات.

عندما أعدت البناء لإعادة البناء إلى أحدث اجتياز للاختبارات

شكراً مرة أخرى على مساعدتك @pfaffman. لتلخيص فهمي الحالي:

  • كانت نسختنا تعمل 3.4.0.beta4-dev، والتي لا تعتبر إصدارًا مستقرًا.
  • عندما قمت بتحديث تكويني لاستخدام version: stable (مع ترك الافتراضي معلقًا)، توقعت أن تثبت عمليات إعادة البناء المستقبلية النسخة المستقرة. ومع ذلك، نظرًا لأننا كنا بالفعل على إصدار تجريبي، استمر التحديث - مما أدى إلى 3.5.0.beta1-dev.
  • يبدو أن التبديل إلى version: stable بعد التقدم إلى ما بعد العلامة المستقرة لا يؤدي إلى تراجع؛ بل يعني فقط أنه إذا كنا عند العلامة المستقرة أو أقل منها، فسيتم تثبيتنا على العلامة المستقرة بدلاً من تتبع الإصدارات التجريبية.

هل هذا صحيح؟

بالإضافة إلى ذلك، هل يمكنك توضيح العملية الموصى بها لضمان عدم اتباعنا للقناة التجريبية عن طريق الخطأ في المستقبل؟ على وجه التحديد:

  1. هل ترك version: stable كتكوين نشط كافٍ لضمان أنه عندما يكون هناك إصدار مستقر متاح، فإن عمليات إعادة البناء لدينا ستثبت عليه - بشرط ألا نكون قد تجاوزناه بالفعل عندما يصل الإصدار المستقر؟
  2. هل هناك أي خطوات إضافية أو مهام تنظيف (مثل إزالة أو تعديل أي عناصر تكوين أخرى) يجب علينا القيام بها لتجنب التحديث عن غير قصد إلى إصدارات تجريبية/تطوير؟

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

هممم. لا يبدو كذلك بالنسبة لي:

أوه! ربما نظرت بسرعة كبيرة على هاتفي. ليس لدي أي تفسير لكيفية تفويتي لذلك ولا لكيفية تشغيل الموقع الآن 3.5.0.beta1-dev.

إعجابَين (2)

مرحباً،

بعد معاناتي من تحديث 3.4.0.beta4-dev المرتبط بالانتقال من postgres 13 إلى 15، تمكنت من استعادة نسخة وظيفية 3.5.0.beta1-dev!

الآن، في لوحة التحكم، هناك نسخة جديدة:

مثبت             الأحدث
3.5.0.beta1-dev       3.5.0.beta1
(b37b51d15f)

ولكن في صفحة التحديثات، نرى:

الاسم                   تجزئة الالتزام          آخر تحديث  أحدث نسخة    الحالة
نسخة جديدة متاحة! v3.4.0.beta4 +182    قبل 43 دقيقة   v3.5.0.beta1 +8   تحديث

هل من الآمن التحديث؟

شكراً مقدماً

إعجاب واحد (1)