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

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

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

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

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

نشر مستودعات متعددة باستخدام Firebase CLI

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

$ firebase apphosting:backends:create --project [project-name]
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.

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

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