Tek depolu sistemlerle birden fazla projeyi tek bir dizinde düzenleyip yönetebilirsiniz. Bu kılavuzda, App Hosting ile Nx tabanlı uygulamaları dağıtmaya nasıl başlayacağınız açıklanmaktadır.
Firebase konsoluyla monorepo'ları dağıtma
Monorepo desteği, Firebase konsolundaki grafik arka uç kurulum akışına yerleştirilmiştir. "Dağıtım ayarları" bölümünde "Kök dizin" istenirse monorepo içinde dağıtmak istediğiniz uygulamanın yolunu belirtin:
Firebase CLI ile monorepo'ları dağıtma
Monorepo desteği, Firebase CLI komutu apphosting:backends:create
ile çağrılan arka uç kurulum akışına yerleştirilmiştir. Bu akışa girip seçtiğiniz GitHub deposunu belirttikten sonra, uygulamanızın kök dizinini deponuza göre belirtmeniz istenir. Bu istemde, monorepo içinde dağıtmak istediğiniz uygulamanın yolunu iletin:
$ 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
Örneğin, aşağıdaki Nx proje yapısı ve oluşturup dağıtmak istediğiniz uygulama olarak "target-app" göz önüne alındığında dağıtılacak öğeler şunlardır:
.
├── lib
├── apps
│ └── target-app
│ ├── project.json
│ └── src
│ └── ...
├── nx.json
├── package-lock.json
└── package.json
Uygulamanın deponuza göre kök dizini apps/target-app
.
Tek depolu dağıtımla ilgili sorunları giderme
- "Kök dizin" alanını belirtmezseniz derleme başarısız olur ve App Hosting Nx monoreposunda hedeflenecek bir proje bulunamadığını belirten bir mesaj gösterilir.
- Nx + Angular uygulamaları için uygulamayı oluşturmak üzere Angular uygulama oluşturucuyu kullanmanız gerekir. Angular uygulama oluşturucu,
project.json
içinde belirtilir.