لقد قمت بتصدير إصدار قديم قليلاً من حاوية Discourse وملفات Docker الخاصة بـ Discourse من نسخة قيد التشغيل واستوردتها على خادم مختلف.
أحتاج إلى تغيير اسم المضيف لـ Discourse ليتوافق مع الخادم الجديد.
هل هناك طريقة لجعل DISCOURSE_HOSTNAME: الجديد فعالاً دون إعادة بناء؟
إذا كان عليّ إعادة البناء، فهل سيؤدي ذلك إلى جلب أحدث إصدار من الفرع main ويتجاوز الإصدار الحالي الذي لدي؟ لأنني بحاجة إلى تشغيل الإصدار الحالي بالضبط.
أحتاج إلى أن يكون لدي نفس الإصدار على تلك النسخة لاختبار الترقية إلى أحدث إصدار، فإذا نجحت، سأقوم بالترقية على الإنتاج.
إذا كان لديك شيء آخر يقوم بحل HTTPS، فقد تتمكن من تجنب إعادة البناء والقيام بالأشياء الأخرى في تغيير اسم النطاق أو إعادة تسمية Discourse.
يتم التعامل مع HTTPS على موازن التحميل، ولكن هذا الرابط يقول إنه يجب علي إعادة البناء بعد تعديل app.yml.
لذا إذا قمت بتثبيت الإصدارات، بالنسبة لـ discourse_docker، هل يجب علي سحب تجزئة الالتزام الحالية؟
وبالنسبة لتطبيق Discourse داخل الحاوية، هل يجب علي أيضًا تعيين تجزئة الالتزام الحالية باستخدام version: <commit_hash> في app.yml؟
من المحتمل جدًا أنه إذا قمت بتثبيت الإصدار الحالي على خادم الاختبار واستعدت قاعدة البيانات إليه، فيمكنك ترقية خادم الإنتاج.
ما تقترحه هو على الأرجح عدة ساعات من العمل، ويحتوي على مجموعة من الأجزاء الصغيرة المربكة التي سيكون من الصعب جدًا وصفها في منتدى، ولن يثبت أي شيء لا تثبته استعادة قاعدة بيانات الإنتاج إلى الخادم الجديد.
فقط اجعل خادم المرحلة وخادم الإنتاج يشيران إلى نفس مستودع النسخ الاحتياطي S3، وقم بعمل نسخة احتياطية للإنتاج واستعدها إلى خادم المرحلة. للمضي قدمًا، سيكونان متكافئين ويمكنك ترقية المرحلة والإنتاج بالتتابع السريع.
I, [2023-04-07T19:17:58.707365 #1] INFO -- : cd /var/www/discourse & gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
ERROR: Could not find a valid gem 'bundler' (= 2.3.4), here is why:
Unable to download data from https://rubygems.org/ - Net::OpenTimeout: execution expired (https://rubygems.org/specs.4.8.gz)
ومع ذلك، يمكنني استخدام curl للوصول إلى rubygems.org من المضيف.
نعم، أمر إعادة البناء وترقية الواجهة الرسومية أعطيا نفس الخطأ.
إعادة محاولة جلب البيانات بسبب خطأ (4/4): Bundler::HTTPError تعذر جلب المواصفات من https://rubygems.org/ بسبب خطأ أساسي <Net::OpenTimeout: انتهت صلاحية التنفيذ (https://rubygems.org/specs.4.8.gz)>
حدث خطأ أثناء تثبيت إصدار Bundler المقفل (2.4.4)، أعد التشغيل باستخدام العلامة `--verbose` لمزيد من التفاصيل. الاستمرار في استخدام bundler 2.3.6.
جلب فهرس المصدر من https://rubygems.org/
تعذر جلب المواصفات من https://rubygems.org/ بسبب خطأ أساسي
<Net::OpenTimeout: انتهت صلاحية التنفيذ (https://rubygems.org/specs.4.8.gz)>
Docker Manager: فشل الترقية