دليل إعداد بيئة تطوير Discourse (قديم) - GitHub Codespace


التطوير باستخدام GitHub Codespaces

GitHub Codespace هو خيار تطوير رائع. إنه رائع لأنه مستضاف في السحابة، يمكنني التأكد بسهولة من أن كل من يطور هنا لديه نفس البيئة، ولا توجد تعاملات مع تثبيتات Docker المحلية، وسهولة الوصول إلى جعل مثيل التطوير المحلي الخاص بي متاحًا للعامة، وأيضًا مجرد استخدام التكنولوجيا الجديدة أمر ممتع.

أنا حاليًا أعيد تعلم التطوير وقررت تبني GitHub Codespaces بالإضافة إلى تعلم بعض تطوير Discourse، لذلك قمت بإنشاء هذا الدليل لأي شخص آخر يتطلع إلى التطوير على Discourse في GitHub Codespace بدلاً من إعداد بيئة محلية.

قررت كتابة هذا الدليل بعد المرور بسلسلة من المشكلات في جعل هذا يعمل مع GitHub Codespace بنفسي:

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

استنساخ مستودع Discourse

  1. انتقل إلى https://github.com/discourse/discourse

  2. انقر فوق الزر Fork في الجزء العلوي الأيمن من الصفحة وانقر فوق الزر الأخضر ‘Create fork’ في الصفحة التالية.

  3. بعد لحظة وجيزة، سيتم نقلك إلى المستودع المستنسخ الجديد الخاص بك من مستودع discourse/discourse:

إعداد GitHub Codespace الخاص بك

  1. انقر فوق الزر الأخضر <> Code

  2. قم بالتبديل إلى علامة التبويب Codespaces وانقر فوق الزر الأخضر Create codoespace on main.

  3. سيتم نقلك إلى نافذة جديدة حيث سيبدأ GitHub في إنشاء مساحة الكود الخاصة بك. يجب أن يستغرق هذا من 1 إلى 3 دقائق:
    chrome_LYoRTOWojo

  4. بعد بضع دقائق، سيتم تقديم مساحة الكود الخاصة بـ GitHub لك (وهي مجرد VS Code في متصفحك):

إعداد بيئة مساحة الكود الخاصة بك

هناك بعض التكوينات التي يجب إجراؤها على بيئة مساحة الكود الخاصة بك قبل أن تكون جاهزًا للعمل.

  1. قم بإنشاء shell bash جديد بالنقر فوق Ctrl + Shift + backtick على Windows/Linux، أو Cmd + Shift + backtick على Mac. يجب أن يبدأ shell الخاص بك في الدليل /var/www/discourse.

  2. انتقل إلى دليل discourse:

cd workspace/discourse

  1. قم بتثبيت كل شيء من ملف Gemfile الخاص بالمشروع
bundle install --gemfile ./Gemfile

الأمر طويل جدًا، لكنك سترى شيئًا كهذا:

  1. أضف ملف config.hosts جديد إلى development.rb
    1. من الدليل الذي تتواجد فيه حاليًا (/var/www/discourse/workspace/discourse) افتح الملف config/environments/development.rb.
    2. ابحث عن السطر config.hosts << /\A(([a-z0-9-]+\.)*localhost(\:\d+)?\Z/ وأنشئ سطرًا جديدًا أسفله مع ما يلي، ثم احفظ الملف:
config.hosts << /^(.*)\.app\.github\.dev$/

يجب أن يبدو الجزء الأخير من ملفك كالتالي (لاحظ السطر 102 في لقطة الشاشة الخاصة بي):

  1. بالعودة إلى الطرفية، قم بتشغيل bundle exec rake admin:create لإنشاء حساب المسؤول الأول الخاص بك. سيطلب منك الأمر اختيار بريد إلكتروني وكلمة مرور (يجب أن تكون كلمة المرور 10 أحرف على الأقل)

ابدأ محركاتك الخادم الخاص بك

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

  1. في نفس الطرفية التي تتواجد فيها، قم بتشغيل الأمر التالي لبدء الخادم الخاص بك:
bin/ember-cli -u

  1. قم بالتبديل من علامة التبويب Terminal إلى علامة التبويب PORTS في وحدة التحكم الخاصة بك:

  2. انقر فوق Forwarded Address للمنفذ 4200 باستخدام Ctrl + click لنظام Windows/Linux، أو Cmd + click لنظام Mac وسيتم الترحيب بك في بيئة التطوير الخاصة بك!

نأمل أن يساعد هذا شخصًا آخر في البدء باستخدام GitHub Codespaces! :tada:

11 إعجابًا

رائع، إنه خيار جيد عند السفر بخفة

إعجابَين (2)

أو في حالتي، لا أرغب حقًا في التطوير على نظام ويندوز ودوكر، ولكني أيضًا لا أرغب في الانتقال إلى بيئة يونكس في المنزل (على الرغم من أنني أستخدم واحدة في العمل).

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

3 إعجابات

أعتقد أن هذا الدليل يحتاج إلى بعض التحديثات. لا يعمل عند تشغيل الخطوة 5، حيث لم يتم إنشاء قواعد البيانات بعد.

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

تمكنت من جعله يعمل عن طريق تشغيل

bash <(wget -qO- https://raw.githubusercontent.com/discourse/install-rails/main/linux)

ثم

bin/rails db:create
bin/rails db:migrate
RAILS_ENV=test bin/rails db:create db:migrate

متبوعًا بـ

bin/ember-cli -u

ثم في طرفية منفصلة

bin/rails admin:create
إعجاب واحد (1)

@jordan-violet أفترض أن هذا #unsupported-install؟ لا يمكنني العثور على app.yml الخاص بي، لذلك لا يمكنني تثبيت الإضافات.

لتثبيت إضافة، يمكنك اتباع الخطوات الموجودة في Install plugins in your non-Docker development environment

3 إعجابات

تقوم بإنشاء رابط رمزي من مجلد الإضافات الخاص بك إلى مجلد كود الإضافة الخاص بك

إعجابَين (2)

@jordan-violet شكراً لإنشاء هذا الدليل بكل الحلول البديلة التي كانت ضرورية سابقاً :pray:
يسرني أن أقول إننا قمنا الآن بدمج مجموعة من التغييرات في تكوين devcontainer/codespaces الخاص بنا، والتي يجب أن تجعل الأمور أسهل بكثير دون الحاجة إلى إنشاء نسخة متفرعة أو تكوين أي شيء يدوياً.
إليك الدليل الرسمي:

سأضيف ملاحظة في أعلى المنشور الأصلي هنا، لتوجيه الأشخاص إلى الأدلة الرسمية :writing_hand:

6 إعجابات