مرحبًا من Gitpod! (التثبيت على Google Cloud وإعداد التطوير الآلي)

تحديث سريع، في حال كان مفيدًا لأحد — لقد نجحنا بنشر Discourse على Google Cloud! :tada: وهو يعمل حاليًا على https://community.gitpod.io ونحن نعشق التجربة حتى الآن.

التفاصيل

اتبعت إلى حد كبير دليل INSTALL-cloud، وأنشأت آلة افتراضية (VM) من نوع g1-small على GCE (معالج واحد، 1.7 جيجابايت ذاكرة) مع قرص SSD إضافي بسعة 20 جيجابايت. (ملاحظة: كنت أفكر في البداية في استخدام آلة افتراضية من نوع n1-standard-1، لكنها بدت مبالغًا فيها بعض الشيء لـ Discourse).

بالنسبة لموقع الآلة الافتراضية، وبناءً على هذا المنشور على مدونة Medium، قررنا أن gce-us-east4 هو الموقع الأفضل، نظرًا لأن معظم مستخدمين Gitpod موجودون في أمريكا الشمالية وأوروبا، ولكن هناك أيضًا عدد كبير في آسيا، لذا لن تكون زمن الوصول سيئًا هناك.

أما بالنسبة لإعداد البريد الإلكتروني، فقد كنا نرغب بشدة في استخدام حساب Google Apps الخاص بنا. حاولنا تكوين خادم SMTP الوسيط الخاص بـ Gmail، ولكن حتى بعد التأكد ثلاث مرات من استخدامنا لجميع البروتوكولات الصحيحة والسماح بها عبر جدار حماية GCP، ومنح العناوين IP الصحيحة القائمة البيضاء، لم يذهب أي بريد إلكتروني على الإطلاق. كان أداة Discourse Doctor مفيدة جدًا، لكنها لم تنجح أيضًا. لذا، في النهاية، استسلمنا واستخدمنا SendGrid بدلاً من ذلك، لأننا أردنا تقييمه لأيام أخرى. كان الإعداد سهلاً للغاية وعمل من المحاولة الأولى. علماً بأن حركة مرور Discourse لدينا في نمو، لكنها لا تزال تتسع بسهولة ضمن المستوى المجاني لـ SendGrid (100 بريد إلكتروني في اليوم).

ثم قمنا بإعداد تسجيل الدخول عبر GitHub OAuth (نفس الإعداد المستخدم في gitpod.io، للراحة) وقمنا بتثبيت بعض الإضافات المفيدة:

  • discourse-solved لوضع علامة على الأسئلة كـ “تم حلها”
  • discourse-chat-integration لإشعارات المواضيع الجديدة في قناة دعم Slack الداخلية لدينا

أيضًا، كقصة جانبية، قمت بكتابة سكريبت Node.js سريع وغير منظم spectrum-to-discourse.js لنقل مواضيع Spectrum القديمة إلى Discourse. الجودة ليست مثالية بنسبة 100%، وقد تبقى بعض الأخطاء في السكريبت، لكن هذا كان كافياً لتزويد Discourse الجديد بمحتوى أولي. الآن نقوم بمراجعة/إصلاح/تحسين المواضيع القديمة يدويًا عندما نلاحظ أنها تصبح شائعة.

نأمل أن تساعد هذه المعلومات شخصًا ما في المستقبل! :crossed_fingers:

بالتأكيد! لقد شاركت المزيد من التفاصيل معك عبر الرسائل الخاصة. :slight_smile:

للعلم، لقد فتحت الآن طلب دمج (Pull Request) لهذا: DEV: Add fully-automated dev setup with Gitpod by jankeromnes · Pull Request #9026 · discourse/discourse · GitHub

آمل أن يعجبكم. :slightly_smiling_face:

كتحديث سريع، توصي Google Cloud الآن بزيادة أداء مثيل Discourse الخاص بنا بسبب “ارتفاع استهلاك الذاكرة”:

كان لهذا المثيل استهلاك مرتفع للذاكرة مؤخرًا. يُنظر في التبديل إلى نوع الآلة: مخصص (معالج واحد، 2.75 جيجابايت من الذاكرة). اقرأ المزيد

نوع الآلة الحالي
g1-small (معالج واحد، 1.7 جيجابايت من الذاكرة)

نوع الآلة الجديد
مخصص (معالج واحد، 2.75 جيجابايت من الذاكرة) موصى به

ولكن بما أننا لم نلاحظ أي مشاكل في الأداء بأنفسنا، فإننا لم نقوم بالترقية بعد. (فقط اعتقدنا أنه سيكون من المفيد ذكر هذه الإشارة هنا.) لذا سنولي المزيد من الاهتمام للذاكرة في المستقبل، وسأقوم بتحديث هذا المنشور إذا قررنا في النهاية إجراء الترقية الموصى بها.