فشل الترقية مع FAILED TO BOOTSTRAP

عند محاولة ترقية مثيل Discourse الخاص بنا، طُلب منا إجراء git pull اليوم، ولكن ./launcher rebuild يفشل مع رسالة FAILED TO BOOTSTRAP ولا أرى بعد مصدر الفشل.

نحن نشغل Discourse على Ubuntu 18.04. كل شيء كان يسير على ما يرام حتى ترقية اليوم.

ملف app.yml الخاص بنا يسمى web.yml، لذلك قمت بتشغيل:

# git pull
# ./launcher rebuild web

ذيل المخرجات يبدو كالتالي:

I, [2022-02-18T19:25:46.155360 #1]  INFO -- : 	> cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
Discourse requires Redis 6.2.0 or up
I, [2022-02-18T19:25:55.644442 #1]  INFO -- : gem install sawyer -v 0.8.2 -i /var/www/discourse/plugins/discourse-github/gems/2.7.5 --no-document --ignore-dependencies --no-user-install
Successfully installed sawyer-0.8.2
1 gem installed
gem install octokit -v 4.21.0 -i /var/www/discourse/plugins/discourse-github/gems/2.7.5 --no-document --ignore-dependencies --no-user-install
Successfully installed octokit-4.21.0
1 gem installed
 
 
 
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 1121 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
85459e34ac2c6275dd1700de2c469124a9fded84800b8c6b4686c1c6b66824e2
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.

Full output here

هذه هي الإضافات الحالية لدينا:

discourse/docker_manager.git
discourse/discourse-github.git
discourse/discourse-solved.git
discourse/discourse-data-explorer.git
discourse/discourse-akismet.git
discourse/discourse-spoiler-alert.git
cpradio/discourse-plugin-replygif.git
discourse/discourse-push-notifications.git
discourse/discourse-chat-integration

عندما أفحص مخرجات المشغل، لا أرى الخطأ الذي يسبب الفشل. أي اقتراحات حول ما قد يسبب الفشل؟

لقد حاولت التراجع عن الالتزام السابق لمعرفة ما إذا كان بإمكاني إعادة بناء حاوية الويب الخاصة بنا بنجاح دون التغيير الأخير، لكنها لا تزال تفشل مع فشل في التهيئة. :confused:

تحديث:

كنا نستخدم إعداد حاويات منفصل، وهو على ما يبدو ليس فكرة جيدة، وكانت حاوية البيانات الخاصة بنا قديمة جدًا، وتشغل Redis v5.0.5 (يتطلب Discourse حاليًا 6.2.0+). لذلك، قمنا بإعادة بناء حاوية البيانات الخاصة بنا ثم حاويات الويب بنجاح. بعد هذه التجربة، سنترك نهج الحاويات المتعددة جانبًا في المستقبل.

شكرًا لـ @pfaffman على الروابط المفيدة للغاية!

ما هو إصدار Redis الذي تستخدمه؟

انظر أيضًا Skip Redis Version Check

أوه. فهمت. نحن نشغل discourse_docker مع حاويات ويب وبيانات مرتبطة، لذا يعمل Redis داخل حاوية البيانات الخاصة بنا.

داخل حاوية البيانات الخاصة بنا:

# redis-server --version
Redis server v=5.0.5

إذًا، هذا يفسر الأمر. يبدو أننا بحاجة إلى ترقية حاوية البيانات الخاصة بنا أيضًا. هذا يجعلني أكثر قلقًا. متى تمت إضافة هذا المتطلب؟ ربما يمكنني العودة إلى إصدار سابق من حاوية الويب حتى يستيقظ تعزيزاتي (في أستراليا) وتكون متاحة. :wink:

واو. بالنظر إلى سجل git، يبدو أن إصدار Redis لم يكن في نطاق 5.x لمدة عامين! لكنني أعلم أننا قمنا ببعض الترقيات الناجحة على طول الطريق (بما في ذلك سحوبات git).

بناءً على تخطي فحص إصدار Redis، يبدو أنهم بدأوا مؤخرًا في فرضه. لقد حفرت بالفعل حفرة كبيرة بما يكفي ليوم الجمعة ولا أريد محاولة ترقية حاوية البيانات الخاصة بنا دون بعض المساعدة… لذلك، سأحاول التراجع إلى إصدار أقدم من docker_discourse لمعرفة ما إذا كان بإمكاني العودة إلى حالة لا يتم فيها فرض متطلبات Redis حاليًا (حتى نتمكن من تحديث حاوية البيانات الخاصة بنا).

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

لن ينجح ذلك، حيث يأتي الفحص من المستودع الرئيسي. ترك حاويات البيانات دون تحديثات لعدة سنوات ليس بالأمر الجيد، حيث قمنا بشحن إصلاحات الأداء والأمان عدة مرات في تلك الفترة.

سبب آخر لعدم توصيتي بإعداد الحاويات المنفصلة.

3 إعجابات

تحتاج إلى إعادة بناء حاوية البيانات. انظر أيضًا تحديث PostgreSQL 13

إعجابَين (2)

شكرا لك. في انتظار ترقية Postgres ونحن نتحدث. :slight_smile:

وشكرا على الرابط لنصائح تحديث Postgres 13. مفيدة جدا!

إعجابَين (2)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.