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
- Arka uç kurulumu sırasında "kök dizin" alanını boş bırakırsanız App Hosting, ilgili nx.json yapılandırma dosyasının
defaultProject
bölümünde belirtilmesi koşuluyla kullanıcının hedef projesini oluşturup dağıtabilir. - Ne "kök dizin" alanını ne de bir
defaultProject
belirtirseniz derleme başarısız olur ve Nx monoreposunda hedeflenecek bir proje bulunamadığını belirten bir mesaj gösterilir. App Hosting - 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.