با monorepos، می توانید چندین پروژه را در یک فهرست واحد سازماندهی و مدیریت کنید. این راهنما نحوه شروع استقرار برنامههای مبتنی بر Nx را با App Hosting توضیح میدهد.
monorepos را با Firebase CLI مستقر کنید
پشتیبانی Monorepo در جریان راهاندازی Backend که توسط فرمان 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 زیر و "target-app" به عنوان برنامه ای که می خواهید بسازید و استقرار دهید، مستقر می شوند:
.
├── lib
├── apps
│ └── target-app
│ ├── project.json
│ └── src
│ └── ...
├── nx.json
├── package-lock.json
└── package.json
دایرکتوری اصلی برنامه نسبت به مخزن شما apps/target-app
است.
monorepos را با کنسول Firebase مستقر کنید
پشتیبانی Monorepo در جریان راهاندازی باطن گرافیکی در کنسول Firebase ساخته شده است. هنگامی که از شما خواسته میشود که یک «دایرکتوری ریشه» در زیر «تنظیمات استقرار» ایجاد کنید، مسیر برنامهای را که میخواهید در مونورپو مستقر کنید، مشخص کنید:
عیب یابی استقرار monorepo
- اگر فیلد "ریشه دایرکتوری" را در حین تنظیم پشتیبان خالی بگذارید، میزبان برنامه همچنان می تواند پروژه هدف کاربر را بسازد و اجرا کند، اگر در
defaultProject
فایل پیکربندی nx.json مربوطه مشخص شده باشد. - اگر نه فیلد "ریشه دایرکتوری" و نه یک
defaultProject
را مشخص کنید، بیلد با شکست مواجه می شود و پیامی نشان می دهد که App Hosting نمی تواند پروژه ای را برای هدف گیری در Nx monorepo پیدا کند. - برای برنامه های Nx + Angular، باید از برنامه ساز Angular برای ساخت برنامه استفاده کنید. سازنده برنامه Angular در
project.json
مشخص شده است