مشكلة أثناء إعادة البناء

هذا هو تكوين الإضافات الخاص بي باستخدام docker 27.0

cmd:
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/paviliondev/discourse-locations.git

على ./launcher rebuild app

أواجه الخطأ التالي بالنسبة لإضافة الموقع

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 449 e
xit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migra
te'"]}
bootstrap failed with exit code 1
** 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.

يرجى تقديم المشورة

تحقق مما إذا كان بإمكانك تحديد أي ترحيل فشل.

إعجابَين (2)

في المنشور الأصلي كما ذكرت
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate’ failed with return #<Process::Status: pid 449 exit 1>

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

إعجابَين (2)

oO0OoO0OoO0Oo يبدأ Redis oO0OoO0OoO0Oo
إصدار Redis=7.0.15, بت=64, التزام=00000000, معدل=0, معرف العملية=447, بدأ للتو
تم تحميل التكوين

  • ساعة رتيبة: POSIX clock_gettime
    تحذير: لم يتم إنشاء مقبس استماع TCP للخادم *:6379: bind: العنوان قيد الاستخدام بالفعل
    فشل الاستماع على المنفذ 6379 (TCP)، يتم الإجهاض.

cd /var/www/discourse & & su discourse -c bundle exec rake db:migrate rake aborted!
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 peeraddr=xx.xx.xx.xx:443 state=error: unexpected eof while reading (OpenSSL::S
SL::SSLError)

خطأك هو سطر إضافة الموقع

- git clone https://github.com/paviliondev/discourse-locations

قم بإزالة “.git” كما في سطري أعلاه.

https://github.com/paviliondev/discourse-locations

لا يوجد “.git” في رابط GitHub الخاص بالإضافات. السطر الأول لـ docker يحتوي على “.git”. الإضافات هي مجرد عناوين روابط.

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

لن يؤثر هذا على أي شيء - كلاهما يعطيك نفس النتيجة

4 إعجابات

لم أكن أعرف. كنت فقط أقارن أسطر app.yml الخاصة بتطبيقي ولاحظت أن سطر docker فقط كان له امتداد “.git” وتذكرت التحذيرات حول مدى حساسية تخطيطات هذه الملفات.

شكراً للتوضيح.

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

إذا كان هذا نسخًا مطابقًا لـ app.yml، فإن أسطر git تبدأ من مكان خاطئ. - يجب أن تكون تحت d.

cmd:
  - git…
3 إعجابات

إذًا سؤالي هو كيف تعمل بقية الإضافات الأخرى التي تحتوي على .git في عنوان URL بشكل جيد؟ على سبيل المثال: عملت إضافات التقويم والأخبار بشكل جيد مع .git بالطريقة التي نطبق بها عادةً أمر git. هل يمكنك شرح الفرق الذي يحدثه .git؟

أرى أن الترحيل يفشل وأنه يظهر أيضًا مشكلة متعلقة بالمنفذ، لست متأكدًا من السبب؟

إذا رأيت رد @supermathie على ردي. كنت مخطئًا. كنت أعتمد على إعداد app.yml الخاص بي. يبدو أن أيًا من التخطيطين مناسب.

لا تقلق بشأن خطأ المنفذ السابق الذي نشرته لأنني أحصل عليه ويعاد بناؤه بشكل جيد. حاول إزالة إضافة الموقع وأعد البناء وانظر ما إذا كان لا يزال يفشل.

مرر لأعلى إذا فشل والتقط جزءًا كبيرًا من المخرجات قبل رسالة الفشل النهائية. يجب أن تكون هناك، إذا كانت مشكلة تثبيت إضافة أو ربما شيء آخر، رسائل خطأ.

من الممكن أنه عند تحرير ملف app.yml ربما تكون قد أدرجت مسافة أو شيئًا ما. من الممارسات الجيدة قبل تغيير ملف app.yml التقاط المحتويات قبل التغيير حتى إذا فشل يمكنك مقارنة القديم بالجديد. إذا لزم الأمر سطرًا بسطر.

عادةً ما أشاهد أثناء إعادة البناء في كل مرة وأصبحت معتادًا على بعض رسائل الخطأ/التحذير الشائعة التي لا يبدو أنها تؤثر على إعادة البناء.

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

سيحتاج الأشخاص هنا إلى رؤية المزيد من ملف سجل إعادة البناء للمساعدة في تحديد مكان فشله.

قد يساعد تشغيل discourse-doctor كما يقترح النتيجة الفاشلة أيضًا. ولكن في خبرتي عادةً ما يكون التمرير لأعلى هو أفضل ما لدي.

يمكنك أيضًا نسخ القسم السفلي أو كل ملف app yml الخاص بك ولصقه هنا. فقط تأكد من تعديل الأشياء الحساسة مثل أسطر مزود البريد الخاص بك ومعلومات maxmind. على الرغم من أنك تشك في منطقة الإضافة لذا .. حتى مجرد النسخ من القسم السفلي من $home لأسفل قد يقدم بعض الأفكار.

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

أستطيع رؤية هذا السطر أيضًا ويمكنني تأكيد أن جهاز VM الثاني الخاص بي يواجه نفس المشكلة فقط مع إضافات الموقع
سبب ذلك:
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 peeraddr=184.104.226.109:443 state=error: unexpected eof while reading (OpenSSL::SSL::SSLError)
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:46:in connect_nonblock' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:46:in ssl_socket_connect’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-http-0.6.0/lib/net/http.rb:1742:in `connect’

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

هل يمكنك إعادة البناء إذا قمت بإزالة إضافة الموقع من app.yml؟

هل تحققت من المسافة البادئة لملفك، كما تم ذكره هنا؟

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

كل شيء يعمل بشكل جيد بخلاف الموقع

إعجابَين (2)

أعتقد أن روبرت سينظر في مشكلات المكون الإضافي للموقع قريبًا. لاحظت خطأً في أحدث إصدار من Discourse في طلب سحب لإصلاح إهمال، وقال إنه سينظر فيه قريبًا جدًا.

3 إعجابات

شكراً جزيلاً على هذه المعلومات وآمل أن أتلقى إشعاراً بمجرد حل هذه المسألة

مع خالص الشكر

3 إعجابات

ضع في اعتبارك منشورًا في Marketplace إذا كنت تريد معالجة هذا الأمر بأولوية ولديك ميزانية، ولكن يبدو أنه مشكلة في إصدار gem/توافق بطريقة ما.

4 إعجابات

ولكن في الأسبوع الماضي أضفت نفس الإضافات على Docker 24.0.x وكانت تعمل، وهنا Docker 27.0.x هذا هو الاختلاف الوحيد

هذا المكون الإضافي للأخبار معطل أيضًا.

3 إعجابات