Na maioria das vezes, recomendamos usar implantações automáticas ou implantações acionadas manualmente no Console do Firebase. No entanto, talvez você tenha um uso para um fluxo de implantação mais personalizado. O App Hosting tem várias opções de implantação personalizada.
Implantar a partir da origem com a CLI Firebase
Com a CLI Firebase, é possível enviar o código-fonte e a configuração do app diretamente da sua máquina local para o Firebase. Isso é conveniente se você tiver outras implantações do Firebase (como regras de segurança ou funções) e quiser implantar seu app da Web e serviços de back-end juntos com um único comando da CLI.
Na implantação, o App Hosting faz upload do seu código-fonte para um bucket do Google Cloud Storage, executa o comando de build da estrutura no Cloud Build e implanta os artefatos finais no Cloud Run e no Cloud CDN. O App Hosting usa o mesmo processo de build para implantações de origem local e do GitHub.
Para implantar o app da origem local:
- Execute
firebase init apphosting
no diretório do projeto local. - Quando solicitado, selecione Usar um projeto existente e escolha o projeto do Firebase.
Selecione um back-end novo ou atual para fazer a implantação. Esta etapa configura as implantações do App Hosting para seu diretório local, solicitando as informações necessárias para que o App Hosting implante seu app:
- O ID do back-end em que a implantação será feita.
- A região em que será feita a implantação (se você estiver criando um back-end)
- O caminho para o diretório raiz do código do aplicativo
O App Hosting salva suas preferências de implantação em
firebase.json
, criando o arquivo no projeto local se ele não existir. Depois que a inicialização for concluída, executefirebase deploy
para implantar o código fonte em App Hosting.
Se você tiver implantações de origem local configuradas para vários back-ends (ou seja, há várias entradas backendId
em firebase.json
), o firebase deploy
será implantado em cada um desses back-ends. Para implantar em um back-end específico, use
firebase deploy --only apphosting:backendId
Exemplo de firebase.json
{
"apphosting": [
{
"backendId": "my-backend",
// rootDir specifies the directory containing the app to deploy, but the entire
// parent directory of firebase.json will be zipped and uploaded to ensure that
// dependencies outside of the app directory will be available at build time.
"rootDir": "./my-app",
"ignore": [
"node_modules",
".git",
"firebase-debug.log",
"firebase-debug.*.log",
"functions",
],
},
]
}
Implantar com o Terraform
Se você precisar de mais controle sobre o processo de build e o ambiente implantado, use o Terraform. O Terraform permite definir e gerenciar seus recursos do App Hosting usando arquivos de configuração declarativos e oferece a capacidade de implantar sua própria imagem de contêiner pré-criada diretamente no App Hosting em vez de depender do App Hosting para criar com base no seu código fonte.
Se você não conhece o Terraform, consulte Começar a usar o Terraform e o Firebase. Se você já conhece o Terraform, comece com arquivos de configuração de exemplo e outros recursos do App Hosting.
Implantar usando o Firebase Studio
Ao criar um app da Web com o agente de prototipagem de apps no Firebase Studio, você pode publicar ou implantar no Firebase App Hosting diretamente do Firebase Studio. Consulte Publicar seu app com o App Hosting.