É comum ter vários ambientes implantados na mesma base de código, cada um com configurações ligeiramente diferentes. Por exemplo, convém atribuir menos CPU e RAM ao seu ambiente de preparo ou garantir que o ambiente de produção mantenha pelo menos uma instância ativa e pronta para atender solicitações.
Para saber mais sobre ambientes, consulte a Visão geral de ambientes e as Práticas recomendadas gerais para configurar projetos do Firebase.
Pré-requisitos
- O código do aplicativo já está armazenado no GitHub.
- Você já criou um projeto diferente para cada um dos ambientes,
por exemplo,
my-production-firebase-project
emy-staging-firebase-project
.- Dica: não se esqueça de marcar seu projeto de produção do Firebase com o tipo de ambiente de produção.
Etapa 0: configurar a ramificação do git de produção
Se você preferir implantar o ambiente de produção da ramificação main
,
pule para a próxima etapa. Se você quiser implantar a produção de outra
ramificação, como production
, é preciso criá-lo primeiro no GitHub.
Para criar o branch de produção com a IU do GitHub, consulte Como criar e excluir ramificações no repositório.
Para criar a ramificação de produção localmente:
$ git checkout -b production
$ git push origin production:production
Etapa 1: configurar o apphosting.yaml de produção
Digamos que você queira garantir que sua produção sempre mantenha pelo menos uma máquina
em execução e tenha algumas variáveis de ambiente específicas de produção. Você pode
configurar isso criando um arquivo apphosting.yaml
na raiz do projeto
com algo semelhante ao seguinte:
# Saved at <repository root>/apphosting.yaml
runConfig:
minInstances: 1
env:
- variable: STORAGE_BUCKET
value: <production Cloud Storage bucket name>
Para conferir uma lista completa das configurações compatíveis, consulte Configurar o App Hosting.
Depois de editar apphosting.yaml
, envie-o para o repositório do GitHub:
$ git add apphosting.yaml
$ git commit -m "Added production App Hosting backend configuration."
$ git push origin
Etapa 2: implantar a base de código na produção
Depois que a ramificação do Git de produção estiver configurada, será possível criar o novo back-end do App Hosting de produção. Para instruções detalhadas, consulte Introdução ao App Hosting.
Para criar um novo back-end com o Console do Firebase, acesse https://console.firebase.google.com/project/_/apphosting para começar.
Para criá-la localmente, você precisa primeiro ter a Firebase CLI instalada e, em seguida, executar:
firebase apphosting:backends:create --project <replace with your PRODUCTION project ID>
Quando esse comando for bem-sucedido, seu back-end de produção deverá ser ativado e todas as novas confirmações na ramificação de produção serão automaticamente criadas e implantadas pela Hospedagem de apps.
Etapa 3: configurar a ramificação do git de teste
Siga as mesmas etapas acima para criar sua ramificação de teste no GitHub:
$ git checkout -b staging
$ git push origin staging:staging
Etapa 4: configurar o apphosting.yaml de preparo
É necessário que a ramificação de teste já tenha uma cópia do apphosting.yaml de produção. Vamos modificá-lo para que o App Hosting possa desativar seu ambiente
de preparo quando ele não estiver sendo usado ativamente e também definir um valor diferente
para a variável de ambiente STORAGE_BUCKET
.
# Saved at <repository root>/apphosting.yaml
runConfig:
minInstances: 0
env:
- variable: STORAGE_BUCKET
value: <some other staging Cloud Storage bucket name>
Depois de concluir as edições, envie o arquivo para o branch do git de teste:
$ git add apphosting.yaml
$ git commit -m "Added staging App Hosting backend configuration."
$ git push origin
Etapa 5: implantar a base de código no preparo
Depois que a ramificação do git de preparo estiver configurada, siga as mesmas etapas acima para implantar a base de código no preparo:
firebase apphosting:backends:create --project <replace with your STAGING project ID>
Após concluir esta etapa, você terá dois back-ends do App Hosting com a mesma base de código, um para produção e outro para preparo, cada um em um projeto diferente do Firebase.
Próximas etapas
- Saiba mais: consulte um codelab do Firebase que integra um app hospedado com os recursos do Firebase Authentication e da IA do Google: Next.js | Angular
- Conectar um domínio personalizado.
- Configure seu back-end.
- Monitore lançamentos, uso do site e registros.