كيفية الحصول بشكل موثوق وبرمجياً على أحدث رقم إصدار لـ Discourse؟

بينما قد أفعل ذلك للعديد من المشاريع مفتوحة المصدر، كنت أبحث عن إصدارات GitHub. شخص ما كانت لديه نفس الفكرة مثلي واكتشف أيضًا أن Discourse لا يحتوي على إصدارات GitHub (بعد الآن).

كانت محاولتي التالية هي استخدام علامات git على GitHub، والتي ستكون أفضل شيء تالي. اعتبارًا من اليوم، أحدث علامة على GitHub هي v3.6.0.beta2. بالنظر إلى صفحة المسؤول في مثيل Discourse الخاص بي، فأنا أقوم بتشغيل v3.6.0.beta3. هذا يعني أنه ليس فقط أحدث إصدار من Discourse غير معلم على GitHub، بل إن Discourse نفسه (البرنامج) يجب ألا يستخدم علامات GitHub كوسيلة لمعرفة متى يوجد إصدار جديد.

تذكرت أن تثبيتي يعمل على Docker، لذلك قررت متابعة هذا المسار إلى حيث يتم استضافة صور Discourse على Docker Hub. هناك عدد قليل من اصطلاحات التسمية المستخدمة كعلامات هناك (مثل 2.0.20251113-0018-web-only-stable)، ولا يبدو أن أيًا منها يرتبط بالتنسيق v.X.Y.Z الذي يستخدمه Discourse علنًا.


إذًا، هل لدى أي شخص توصية حول كيفية القيام بذلك؟

يتم تعريف الإصدار المستخدم للعرض بواسطة Discourse::VERSION::String وهو ثابت مُرمز بشكل ثابت:

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

أعتقد أنك تقوم بتشغيل الإصدار التجريبي3-الأحدث، مما يعني إصدارًا واحدًا أثناء تطوير الإصدار التجريبي3. لم يتم إصدار الإصدار النهائي للإصدار التجريبي3 بعد.

هل قرأت الموضوع حول استراتيجية الإصدار الجديدة؟

إعجابَين (2)

لم أستخدم أي شيء. يخبرني Discourse عندما تكون هناك تحديثات، وأضغط على الزر لتثبيتها في واجهة المستخدم. أحاول معرفة من أين يحصل Discourse على تلك المعلومات.

شكراً لك. صادفت ذلك ولكنه يتطلب مني إجراء git clone بشكل منتظم وفحص هذا الملف، وهو ليس بالأمر السهل.

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

اعتقدت أن الشرح الذي يفيد بأنه يتم إرسال الإشعارات بمجرد إصدار إصدار تجريبي جديد قد يكون مفيدًا لك. عندما تقوم بالتحديث بعد الإشعار الخاص بإصدار 3.6.0.beta3، بينما يعتمد منتداك على “الأحدث”، ستحصل على 3.6.0.beta4-latest.

أحتاج إلى نوع من عنوان URL حيث يمكنني استخدام لغة برمجة (أو قل curl) للتحقق من أحدث إصدار (إصدارات). عادةً ما يكون هذا نوعًا من التغذية ويحتوي على استجابة بلغة منظمة مثل JSON أو XML أو YAML أو غيرها.

يمكنك استخدام التحقق من الإصدار الموجود في كود Discourse.

https://api.discourse.org/api/version_check?installed_version=

حيث X هو إصدار معروف في الفرع الذي تريد الحصول على معلومات عنه.

إذا كنت تريد فقط الحصول على آخر 5 إصدارات تجريبية، فاستخدم ببساطة إصدارًا قديمًا مثل
https://api.discourse.org/api/version_check?installed_version=3.1.0.beta1

إذا كنت تريد أحدث إصدار مستقر، فتجاهل المعلمة installed_version
https://api.discourse.org/api/version_check

4 إعجابات

هذا. هذا هو بالضبط ما كنت أبحث عنه وفشلت فيه محاولاتي على جوجل. شكرًا لك!

يعرض واجهة برمجة التطبيقات هذه v3.6.0 beta 2 كأحدث إصدار (مثل علامات GitHub) وليس beta 3 وهو ما يعمل عليه منتدى الخاص بي. لا أفهم كيف حدث ذلك ولكن هذه مشكلة أخرى. :ضحك:

شكراً على المساعدة.

إعجابَين (2)

البيانات المقدمة من api.discourse.org مأخوذة من علامات GitHub، لذا يمكنك استخدام أي منهما. سيعطيان نفس النتيجة دائمًا.

هذا لأنك تقوم بتشغيل الإصدار التجريبي المسبق للإصدار التجريبي 3:

اللاحقة -latest هي المؤشر على أنه إصدار تجريبي مسبق، ولا تتوافق مع التزام محدد من Discourse.

إعجابَين (2)