باستخدام مستودعات monorepos، يمكنك تنظيم مشاريع متعددة وإدارتها في ملف واحد. يوضِّح هذا الدليل كيفية بدء نشر التطبيقات المستندة إلى Nx باستخدام App Hosting.
نشر مستودعات مُدمجة باستخدام Firebase CLI
تم تضمين ميزة "مستودع مشترَك" في مسار إعداد الخلفية الذي يتم تشغيله باستخدام الأمر apphosting:backends:create
في واجهة برمجة تطبيقات Firebase. بعد الدخول إلى هذه العملية وتحديد
مستودع GitHub الذي اخترته، سيُطلب منك تحديد directory
الجذر لتطبيقك بالنسبة إلى مستودعك. عند ظهور هذا الطلب، أدخِل المسار إلى
التطبيق الذي تريد نشره داخل المستودع الموحّد:
$ 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 التالية و "target-app" كتطبيق تريد إنشاؤه ونشره:
.
├── lib
├── apps
│ └── target-app
│ ├── project.json
│ └── src
│ └── ...
├── nx.json
├── package-lock.json
└── package.json
الدليل الجذر للتطبيق بالنسبة إلى مستودعك هو apps/target-app
.
نشر مستودعات مونو مع "وحدة تحكُّم Firebase"
تم دمج دعم Monorepo في عملية إعداد الواجهة الخلفية الرسومية في وحدة تحكُّم Firebase. عندما يُطلب منك إدخال "الدليل الجذر" ضمن "إعدادات النشر"، حدِّد المسار إلى التطبيق الذي تريد نشره داخل المستودع الموحّد:
تحديد مشاكل نشر مستودع الأركان الأساسية وحلّها
- إذا تركت حقل "الدليل الجذر" فارغًا أثناء إعداد الخلفية، قد يظل بإمكان App
Hosting إنشاء المشروع المستهدَف للمستخدم ونشره إذا
تم تحديده في
defaultProject
من ملف الإعداد nx.json ذي الصلة. - إذا لم تحدّد أيًا من حقل "الدليل الجذر" أو
defaultProject
، سيتعذّر تنفيذ التصميم وسيتم عرض رسالة تفيد بأنّه لا يمكن لـ App Hosting العثور على مشروع لاستهدافه داخل المستودع الأحادي Nx. - بالنسبة إلى تطبيقات Nx + Angular، يجب استخدام أداة إنشاء
تطبيقات Angular لإنشاء التطبيق. تم تحديد أداة إنشاء تطبيقات Angular في
project.json