Dengan monorepos, Anda dapat mengatur dan mengelola banyak project dalam satu saat ini. Panduan ini menjelaskan cara mulai men-deploy aplikasi berbasis Nx dengan Hosting Aplikasi.
Men-deploy monorepo dengan Firebase CLI
Dukungan monorepo terintegrasi dalam alur penyiapan backend yang dipanggil oleh Firebase
Perintah CLI apphosting:backends:create
. Setelah Anda memasuki alur ini dan menentukan
repositori GitHub pilihan Anda, Anda akan diminta untuk menentukan
direktori terkait repositori Anda; pada prompt ini, teruskan jalur ke
yang ingin Anda deploy di dalam monorepo:
$ 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
Misalnya, berikut adalah aset yang akan di-deploy dengan Nx berikut struktur project dan "target-app" sebagai aplikasi yang ingin Anda bangun dan terapkan:
.
├── lib
├── apps
│ └── target-app
│ ├── project.json
│ └── src
│ └── ...
├── nx.json
├── package-lock.json
└── package.json
Direktori utama aplikasi yang terkait dengan repositori Anda adalah apps/target-app
.
Men-deploy monorepo dengan Firebase console
Dukungan monorepo di-build ke dalam alur penyiapan backend grafis di Firebase konsol. Saat diminta memasukkan "Direktori root" di bagian "Setelan deployment", tentukan jalur ke aplikasi yang ingin Anda deploy di dalam monorepo:
Memecahkan masalah deployment monorepo
- Jika Anda keluar dari "direktori root" kolom kosong selama penyiapan backend, Aplikasi
Hosting masih dapat membangun dan men-deploy project target pengguna jika
hal ini ditentukan dalam
defaultProject
dari nx.json terkait konfigurasi file. - Jika Anda tidak menetapkan "direktori root" atau kolom
defaultProject
, maka build akan gagal dan menampilkan pesan bahwa App Hosting tidak dapat menemukan project yang akan ditargetkan di dalam monorepo Nx. - Untuk aplikasi Nx + Angular, Anda harus menggunakan aplikasi Angular
builder untuk membuat aplikasi. Tujuan
Builder aplikasi Angular ditentukan di
project.json