استخدام المستودع الأحادي مع "استضافة التطبيقات"

باستخدام المستودع الأحادي، يمكنك تنظيم وإدارة عدة مشاريع في مكان واحد الدليل. يوضِّح هذا الدليل طريقة البدء في نشر التطبيقات المستندة إلى Nx مع استضافة التطبيقات.

تفعيل المستودع الأحادي باستخدام واجهة سطر الأوامر في Firebase

دعم Monorepo مُدمَج في عملية إعداد الخلفية التي استدعتها منصّة Firebase أمر CLI apphosting:backends:create. بعد دخول هذا التدفق وتحديد مستودع جيت هب الذي اخترته، سيُطلب منك تحديد جذر التطبيق دليل مرتبط بمستودعك في هذه المطالبة، قم بتمرير المسار إلى التطبيق الذي تريد نشره داخل المستودع الأحادي:

$ firebase apphosting:backends:create --project [project-name] --location us-central1
i  === Import a GitHub repository
✔  Connected with GitHub successfully

? Which GitHub repo do you want to deploy? gh-username/nx-monorepo
? Specify your app's root directory relative to your repository path/to/app

على سبيل المثال، في ما يلي الأصول التي سيتم نشرها باستخدام نظام Nx التالي: بنية المشروع و"التطبيق المستهدف" كتطبيق تريد إنشاءه التفعيل:

.
    ├── lib
    ├── apps
    │   └── target-app
    │       ├── project.json
    │       └── src
    │           └── ...
    ├── nx.json
    ├── package-lock.json
    └── package.json

الدليل الجذري للتطبيق والمتعلّق بالمستودع هو apps/target-app.

نشر المستودع الأحادي باستخدام وحدة تحكُّم Firebase

دمج دعم Monorepo في عملية إعداد الواجهة الخلفية الرسومية في Firebase وحدة التحكم. عندما يُطلب منك "الدليل الجذر" ضمن "إعدادات النشر" لتحديد المسار إلى التطبيق الذي تريد نشره داخل المستودع الأحادي:

لقطة شاشة لعرض إنشاء الواجهة الخلفية لوحدة التحكّم

تحديد وحلّ مشاكل النشر في المستودع الأحادي

  • في حال مغادرة "الدليل الجذر" حقل فارغ أثناء إعداد الواجهة الخلفية، تطبيق قد يظل بإمكان الاستضافة إنشاء المشروع المستهدف للمستخدم ونشره إذا يتم تحديده في defaultProject لملف nx.json ذي الصلة الإعدادات .
  • إذا لم تحدد أيًا من "الدليل الجذر" حقل أو defaultProject، فسيتعذّر الإصدار وستظهر رسالة لا يمكن لـ App Hosting العثور على مشروع لاستهدافه داخل المستودع الأحادي لـ Nx.
  • بالنسبة إلى تطبيقات Nx + Angular، يجب استخدام تطبيق Angular. لإنشاء التطبيق لإنشاء التطبيق. تشير رسالة الأشكال البيانية تم تحديد أداة إنشاء التطبيقات Angular في project.json