Com os monorepos, você pode organizar e gerenciar vários projetos de uma única diretório. Este guia descreve como começar a implantar aplicativos baseados em Nx com Hospedagem de apps.
Implantar monorepos com a CLI do Firebase
O suporte ao Monorepo é integrado ao fluxo de configuração do back-end invocado pelo Firebase
Comando da CLI apphosting:backends:create
. Depois de inserir esse fluxo e especificar
seu repositório do GitHub escolhido, você será solicitado a especificar a raiz do aplicativo
em relação ao seu repositório. neste prompt, transmita o caminho para o
que você quer implantar dentro do 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
Por exemplo, estes são os recursos que seriam implantados com o seguinte Nx estrutura do projeto e “target-app” como o aplicativo que você quer criar e implantar:
.
├── lib
├── apps
│ └── target-app
│ ├── project.json
│ └── src
│ └── ...
├── nx.json
├── package-lock.json
└── package.json
O diretório raiz do app em relação ao seu repositório é apps/target-app
.
Implantar monorepos com o Console do Firebase
O suporte ao Monorepo está integrado ao fluxo gráfico de configuração do back-end no Firebase no console do Google Cloud. Quando um "diretório raiz" for solicitado em "Configurações de implantação", Especifique o caminho do aplicativo que você quer implantar dentro do monorepo:
Solução de problemas da implantação do monorepo
- Se você sair do "diretório raiz" campo em branco durante a configuração do back-end, app
O Hosting ainda poderá criar e implantar o projeto de destino do usuário se
ele seja especificado no arquivo
defaultProject
do arquivo nx.json configuração arquivo. - Se você não especificar o "diretório raiz" nem um
defaultProject
, o build falhará e exibirá uma mensagem que O App Hosting não consegue encontrar um projeto para segmentar dentro do monorepo Nx. - Para aplicativos Nx + Angular, você precisa usar o aplicativo Angular
builder para criar o aplicativo. A
O builder de aplicativos do Angular está especificado em
project.json
.