Na maioria das vezes, recomendamos o uso de lançamentos automáticos ou acionados manualmente no console Firebase. No entanto, talvez você precise de um fluxo de implantação mais personalizado. App Hosting tem várias opções de implantação personalizada.
Implantar a partir da origem com a Firebase CLI
Firebase CLI v14.4.0 e versões mais recentes permitem enviar o código-fonte e a configuração do app diretamente da 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 com um único comando da CLI.
Na implantação, App Hosting faz o upload do código-fonte para um bucket do Google Cloud
Storage, executa o comando de build do framework no Cloud Build e implanta
os artefatos finais no Cloud Run e Cloud CDN. App Hosting usa o mesmo
processo de build para implantações de origem local e do
GitHub. Se você tiver um arquivo .gitignore no projeto, os arquivos e pastas listados nele serão excluídos da implantação.
Para implantar o app da origem local:
- Execute
firebase init apphostingno diretório do projeto local. - No prompt, selecione Use an existing project e escolha o projeto do Firebase.
Selecione um back-end novo ou atual para implantar. Essa etapa configura as implantações do App Hosting para o diretório local, solicitando as informações App Hosting necessárias para implantar o app:
- O ID do back-end a ser implantado
- A região a ser implantada (se você estiver criando um novo back-end)
- O caminho para o diretório raiz do código do aplicativo
App Hosting salva as 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 deploypara 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), 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. Ele permite definir e gerenciar seus App Hosting recursos usando arquivos de configuração declarativos e oferece a capacidade de implantar sua própria imagem de contêiner pré-criada diretamente em App Hosting em vez de depender de App Hosting para criar o código fonte.
Se você não conhece o Terraform, consulte Introdução ao Terraform e ao Firebase. Se você já conhece o Terraform, comece com arquivos de configuração de exemplo e outros App Hosting recursos.
Configurar uma conexão do GitHub para CI/CD
Você pode conectar um repositório do GitHub a qualquer momento na guia Implantação das configurações de um back-end no Firebase console. Isso permite implantar um protótipo de app de um ambiente local e fazer a transição para um pipeline de CI/CD automatizado quando estiver tudo pronto.
Implantar usando ferramentas de IA
Vamos desativar Firebase Studio em 22 de março de 2027. Embora seus App Hosting back-ends não sejam afetados, o botão Publicar em Firebase Studio será desativado. Para continuar publicando atualizações sem mudar o URL, migre seu projeto. Saiba como migrar.