بمجرد تثبيت Discourse، هناك العديد من الأمور (سواء في نواة Discourse أو الإضافات) التي تحتاج إلى تكوين يدوي عبر واجهة إعدادات المستخدم، وهو ما يتطلب الكثير من الكتابة والضغط على الأزرار، بالإضافة إلى تذكر مكان العثور على جميع هذه الإعدادات.
هل من الممكن تعريف هذه الإعدادات كجزء من عملية النشر، مثل سكريبت قابل للتعديل يمكن تشغيله بمجرد اكتمال النشر الأولي؟
يمكنك بسهولة إنشاء إضافة لتعيين “أي إعدادات وأنها جميعًا” للموقع بكل سهولة.
نأمل أن يكون ذلك مفيدًا.
هذا ممكن، لكن سؤالي هو: لماذا تحتاج إلى ذلك؟ هل تقوم بتجهيز مواقع كثيرة؟
كل ما تحتاجه لإعادة إنشاء موقع مطابق على خادم آخر هو نسخة احتياطية للموقع ونسخة من ملف app.yml الخاص بك.
علاوة على ذلك، تظل الإعدادات ثابتة عبر عمليات إعادة البناء، لذا لا داعي للقلق بشأن الترقيات المحلية على نفس الخادم.
إذا كنت بحاجة إلى إنشاء قالب موقع، فأعتقد أنه يمكن تحقيق ذلك باستخدام نسخة احتياطية واحدة وقالب app.yml. يمكنك تعديل إعدادات الموقع في ملف app.yml إذا رغبت في ذلك.
نحن ننشئ عددًا من المواقع التي تتطلب جميعها إعدادات مختلفة (مثل العلامة التجارية، وإعدادات الأمان، وما إلى ذلك).
إنها نفس العناصر التي تحتاج إلى إعداد في كل مرة، ولكن القيم التي تُعيّن لها تختلف.
يعتمد إعدادنا على حاويات Bitnami المُنفّذة على K8S باستخدام Ansible.
يمكنك حينئذٍ إنشاء قالب YAML كما هو مقترح، وضمّن قالبك مع إعدادات الموقع المخصصة في ملف الحاوية الخاص بك.
أو قم بشيء مشابه باستخدام إضافة، وقرأ إعدادات الموقع المحددة من ملف في مجلدك المشترك أو من موقع بعيد.
يمكنك تعيين جميع إعدادات الموقع باستخدام متغيرات البيئة (على سبيل المثال، DISCOURSE_SETTING_NAME=xxx). يمكنك تغيير كل شيء عبر واجهة برمجة التطبيقات. وأحيانًا، كما يقترح NoBugsBunny، تكون إضافة (plugin) وسيلة جيدة للقيام بذلك.
هذا الأمر يتجاوز نطاق الدعم المجاني الذي أقدمه هنا. لا أنصح بـ Bitnami، لكنني عملت مع عملاء يستخدمونها. لقد قمت بعدة عمليات نشر على GKE (باستخدام حاويات مدعومة تم بناؤها باستخدام ./launcher) ولدي خبرة في نشر وإدارة Discourse باستخدام Ansible. إذا كنت بحاجة إلى مساعدة ولديك ميزانية، يرجى الاتصال بـ jay@literatecomputing.com.