از monorepos با میزبانی برنامه استفاده کنید

با 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 مشخص شده است