عند محاولة ترقية مثيل 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.
هذه هي الإضافات الحالية لدينا:
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
عندما أفحص مخرجات المشغل، لا أرى الخطأ الذي يسبب الفشل. أي اقتراحات حول ما قد يسبب الفشل؟
لقد حاولت التراجع عن الالتزام السابق لمعرفة ما إذا كان بإمكاني إعادة بناء حاوية الويب الخاصة بنا بنجاح دون التغيير الأخير، لكنها لا تزال تفشل مع فشل في التهيئة. ![]()
تحديث:
كنا نستخدم إعداد حاويات منفصل، وهو على ما يبدو ليس فكرة جيدة، وكانت حاوية البيانات الخاصة بنا قديمة جدًا، وتشغل Redis v5.0.5 (يتطلب Discourse حاليًا 6.2.0+). لذلك، قمنا بإعادة بناء حاوية البيانات الخاصة بنا ثم حاويات الويب بنجاح. بعد هذه التجربة، سنترك نهج الحاويات المتعددة جانبًا في المستقبل.
شكرًا لـ @pfaffman على الروابط المفيدة للغاية!