Formas alternativas de implantar no App Hosting

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:

  1. Execute firebase init apphosting no diretório do projeto local.
  2. Quando solicitado, selecione Usar um projeto existente e escolha o projeto do Firebase.
  3. 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:

    1. O ID do back-end em que a implantação será feita.
    2. A região em que será feita a implantação (se você estiver criando um back-end)
    3. 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, execute firebase 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.