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

باستخدام مستودعات 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"

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

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

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

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