التبديل بين قنوات/إصدارات Discourse

:bookmark: يشرح هذا الدليل كيفية تكوين قناة الإصدار لنسخة Discourse الخاصة بك.

:person_raising_hand: مستوى المستخدم المطلوب: مسؤول النظام

:warning: يتطلب الأمر الوصول إلى وحدة التحكم (Console).

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

ملخص

توفر Discourse عدة قنوات لتتبع تحديثات البرامج: latest، وrelease، وesr. تشرح هذه الوثائق الغرض من كل قناة، وخصائصها الرئيسية، وكيفية تكوينها في نسخة Discourse الخاصة بك. للحصول على توضيح للقنوات، راجع releases.discourse.org.

القنوات المدعومة

latest

:information_source: الإعداد الافتراضي الموصى به
توفر هذه القناة أحدث إصلاحات الأخطاء وتحديثات التوافق للإضافات. يتم اختبار كل التزام (commit) ناجح من الفرع main بواسطة خادم الإنشاء وإضافته إلى فرع latest بعد التحقق الناجح.

  • مناسبة للمواقع التي تريد البقاء محدّثة.
  • يمكن للمواقع التحديث يدويًا في أي وقت.

release

:information_source: للمواقع التي تفضل الإصدارات الشهرية

تتبع قناة release أحدث إصدار شهري لـ Discourse. كل شهر، يتم إنشاء فرع إصدار (مثل release/2026.2) من latest، مما يوفر لقطة مستقرة.

  • يتم الإصدار تقريبًا مرة واحدة في الشهر.
  • يتلقى كل إصدار الإصلاحات الحرجة لدورتين إصدار كاملتين.

esr

:information_source: إصدار الدعم الممتد

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

  • يتم الإعلان عنه تقريبًا كل 6 أشهر من الإصدارات الشهرية.
  • يتلقى إصلاحات أمنية ونقلًا للخلف للإصلاحات الحرجة لفترة ممتدة.
  • قد يكون له توافق محدود مع إضافات المجتمع ومكونات السمات.

:warning: ملاحظة: عدم تلقي تحديثات الصيانة المنتظمة قد يترك بعض الميزات قديمة أو غير متناسقة بصريًا.

أسماء مستعارة قديمة غير مستخدمة

لأغراض التوافق مع الإصدارات السابقة، لا تزال أسماء الفروع/العلامات القديمة التالية تعمل ولكنها تعتبر غير مستخدمة:

  • tests-passedlatest
  • betarelease
  • stableesr

فروع أو مراجع أخرى

:warning: تتبع فروع أخرى (مثل فروع release/YYYY.M المحددة أو معرفات الالتزام SHA) ممكن ولكنه يتطلب خبرة. تتلقى هذه الفروع الإصلاحات الحرجة لفترة محدودة فقط.

تعليمات تكوين قناتك

اتبع هذه الخطوات لتكوين الفرع المطلوب في نسخة Discourse الخاصة بك:

  1. الوصول إلى ملف التكوين
    افتح ملف التكوين app.yml عن طريق تشغيل الأوامر التالية في وحدة التحكم الخاصة بك:
cd /var/discourse
nano containers/app.yml

سيُفتح محرر nano ملف التكوين.
2. تعديل فرع التتبع
اعثر على معلمة الإصدار عن طريق البحث عن كلمة “version” في الملف:

params:  
## Which Git revision should this container use? (default: latest)  
#version: latest
  • ألغِ التعليق على سطر الإصدار.
  • استبدل latest باسم الفرع أو العلامة المطلوب (مثل esr). مثال:
params:  
## Which Git revision should this container use? (default: latest)  
version: esr  
  1. الحفظ والخروج
  • اضغط Ctrl+O لحفظ التغييرات.
  • اضغط Enter للتأكيد.
  • استخدم Ctrl+X للخروج من المحرر.
  1. إعادة بناء الحاوية
    بمجرد إجراء التغييرات وحفظها، أعد بناء الحاوية لتطبيق التكوين الجديد:
./launcher rebuild app

:warning: ستؤدي إعادة البناء إلى توقف مؤقت في الخدمة

27 إعجابًا
Is it possible to upgrade Discourse up to a number of commits in the version?
How to avoid Discourse BETA version and keep only stable?
Upgrade Button - Possible Window to Exploits
Need a better way to explain what branch to be on, why, and what happens
Restoring Discourse 1.9 backup onto v2.3.0.beta9 +184
Cannot reorder categories
Download My Posts failed
Quote-feature occasionally missing on Android
What’s the best/safest branch not break production site?
How to change the target channel from DEV to BETA?
I need help to edit the sidebar
Help us test the rewritten Composer
Upcoming changes to the beta branch of Discourse
502 Bad Gateway after trying to rebuild test-passed branch
Stuck at v2.9.0.beta1 – Now Running 3.4.0.beta4-dev after Disabling Hooks: How Can I Lock to Stable Releases?
Have I Installed the wrong version? - 3.5.0.beta2-dev
Need a better way to explain what branch to be on, why, and what happens
Error 500 after Update
Landing Pages Plugin :small_airplane:
Self-hosted discourse instance appending "7d" to the FQDN
Update “3.4.0.beta4” failed
Issues with Discourse 3.5.0.beta2-dev - SMTP and Background Jobs
Install production ready stable on vps
Help deploying older versions of Discourse
[solved] How to avoid getting -dev versions when updating?
Production upgrades - correct procedure to follow
Production upgrades - correct procedure to follow
Problem with Upgrade [error 137]
ESR Usage Help
Is it possible to disable Discourse updates?
Is it possible to disable Discourse updates?

تم دمج 4 منشورات في موضوع موجود: مساعدة في نشر إصدارات أقدم من Discourse

هل يُعدّ الأمر git pull خطوةً ضرورية، أم أنه متكرر ويأتي من الوثائق القديمة، على غرار حالة تحديث Discourse (التحديث اليدوي لـ Discourse وصورة Docker إلى أحدث إصدار

من خبرتي، فإن git pull يكون في بعض الأحيان مفيداً - على سبيل المثال، كان ضرورياً عندما انتقلنا من yarn إلى pnpm …

عادةً لا داعي للقلق بشأن إعادة البناء العادي.

إعجابَين (2)

من الجيد أن أعرف ذلك! شكراً لك على المعلومات.

ما أفعله عادةً :sweat_smile: هو محاولة إعادة البناء، وإذا فشل الأمر لسبب غير واضح تماماً، أجرب أولاً تشغيل git pull - يستغرق ذلك لحظة.

نظرياً، لا ينبغي أن يكون ذلك ضرورياً أبداً. سيقوم المشغل (Launcher) بالكشف التلقائي عن نسخة قديمة وإجراء أمر git pull بنفسه:

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

شكراً لك على التفاصيل. بالفعل، هذا منطقي. سأجرب الأمر دون استخدام git pul وأخبرك بالنتيجة.

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

هذا غريب. الكود المعني يعود لعام 2015، ومنتدىي يعود لعام 2018، ومع ذلك أنا متأكد تماماً من أن هناك عدة حالات تمت مناقشتها هنا حيث كان الأمر git pull ضرورياً.

من ناحيتي، سأقوم دائماً بتنفيذ git pull إذا تذكرت - فهذا لا يكلفني شيئاً.

يتم ذكرها كثيرًا، وأعتقد ذلك بسبب هذه الوثائق التاريخية للغاية. لا أعتقد أنني رأيت أي دليل على أنها ساعدت بالفعل.

لكن نعم، لا ضرر من تشغيلها يدويًا أيضًا :person_shrugging:

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

بما أن ملف yml يستخدم version وليس supported tracking branch، هل من الجيد إضافة (version) إلى عنوان الموضوع؟

لقد صُدمتُ أيضًا من التاريخ في البداية. ولكن بعد التحقق من سجل الإصدارات، كان آخر تحديث في 18 مايو.

قمت بمحاولة تحديث المنشور الأصلي لاستخدام مصطلح “القنوات” الحديث لدينا، وإزالة بعض الإشارات غير الضرورية إلى git pull.

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

يجب أن يكون هناك على الأقل حالة حدية، لأنه بالتأكيد “ساعدني على تجاوز العقبة” في مناسبات نادرة جداً

هل يمكن أن يكون ذلك عندما يتغير النص الرئيسي في ظروف محدودة؟

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