خطأ أثناء إعادة البناء: registry.yarnpkg.com ESOCKETTIMEDOUT

للأسف، مجرد تشغيل

./launcher start app

لا يعيد المنتدى للعمل.

على أي حال، قمت بتجارب إضافية. على وجه التحديد، حاولت تنفيذ أمر yarn الفاشل يدويًا في صورة docker:

./launcher enter app
cd /var/www/discourse
su discourse
yarn install --frozen-lockfile
... يفشل بنفس مهلة الانتهاء ...
yarn config set network-timeout 600000 -g
yarn install --frozen-lockfile
... ينجح ...

يؤكد هذا أن زيادة مهلة الانتهاء تحل المشكلة.

السؤال المتبقي إذن هو كيفية زيادة مهلة الانتهاء أيضًا أثناء ./launcher rebuild app.

الملف web.template.yml موجود بالفعل في discourse/containers خارج صورة docker. لم أجده في البداية، لأن تثبيت Discourse الخاص بي في موقع غير قياسي، وليس في /var/discourse.

الإصلاح المذكور في المنشور المشار إليه أعلاه يشير إلى السطر 159، ولكن هذا لم يعد يبدو صحيحًا، ربما بسبب التحديثات. ومع ذلك، توجد هذه الأسطر حول السطر 188:

  - exec:
      cd: $home
      hook: yarn
      cmd:
        - |-:
          if [ "$version" != "tests-passed" ]; then
            rm -rf app/assets/javascripts/node_modules
          fi
        - su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'

يقترح المنشور إدراج قسم جديد لتعيين مهلة الانتهاء، ولكنه لا يقدم تعليمات محددة حول كيفية القيام بذلك. أنا لست على دراية كبيرة بـ yaml أو pups أو yarn أو كيفية استخدامها في Discourse، لذلك لم أكن أرغب في التخمين. بدلاً من ذلك، جربت هذا التغيير على القسم الأصلي:

  - exec:
      cd: $home
      hook: yarn
      cmd:
        - |-:
          if [ "$version" != "tests-passed" ]; then
            rm -rf app/assets/javascripts/node_modules
          fi
        - su discourse -c 'yarn config set network-timeout 600000 -g && yarn install --frozen-lockfile && yarn cache clean'

يستغرق الأمر ./launcher rebuild app الآن وقتًا طويلاً جدًا (أكثر من ساعتين!، أطول بكثير مما كان يستغرقه سابقًا). الخبر السار هو أن المنتدى عاد للعمل! رائع، شكرًا للمساعدة.

هل هناك طريقة لزيادة مهلة الانتهاء عن طريق إضافة أمر إلى containers/app.yml؟ سيكون ذلك مناسبًا، لأنه سيحتفظ بجميع تخصيصاتي في ملف واحد.

يبدو أن استخدام إعداد حاويتين فكرة رائعة؛ لم أكن على علم بإمكانية ذلك. أعتقد أنك تشير إلى هذا: https://meta.discourse.org/t/move-from-standalone-container-to-separate-web-and-data-containers/29413؛ سأجربها. أي نصائح إضافية مرحب بها.

عندما أقوم بتحديث مثيل Discourse الخاص بي من المتصفح، هل يقوم أيضًا بتشغيل ./launcher rebuild app؟ هل يؤدي ذلك إلى إيقاف المنتدى مؤقتًا؟ حتى الآن، كان لدي انطباع بأن المنتدى يظل عبر الإنترنت خلال معظم العملية، لكنني لست متأكدًا. لم تكن هذه الأمور واضحة لي أبدًا، ولم يكن لدي الوقت الكافي لفهمها حقًا. أي إجابات أو إشارات إلى مزيد من المعلومات مرحب بها.

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