Se você tiver implantações automáticas ativadas, toda vez que fizer um push de uma nova confirmação para o branch ativo no repositório do GitHub, o App Hosting vai implantar automaticamente uma nova versão do app. É possível verificar o status da implantação no Firebase console ou na verificação do App Hosting no GitHub.
Além disso, App Hosting oferece suporte a lançamentos acionados manualmente para integração de CI/CD ou qualquer outro caso em que você queira forçar um lançamento.
Ver implantações
O console Firebase oferece acesso a informações detalhadas sobre todas as implantações do app.
Navegue até Hosting e sem servidor> App Hosting, e selecione Ver para o back-end cujas implantações você quer conferir. A guia Implantações do back-end mostra uma tabela com um histórico de todas as implantações desse back-end.
Cada entrada de implantação contém links para o job Cloud Build e a mudança ou confirmação que acionou a implantação, além de informações básicas sobre o autor, a data de criação e o status da implantação.
- O job Cloud Build é o ambiente de build em que App Hosting executa o comando de build do app. É possível acessar os registros Cloud Build clicando no ID do build.
- A mudança é a confirmação do GitHub ou outra ação que acionou a implantação.
Acionar uma implantação manualmente
Se você quiser acionar manualmente uma implantação da origem do GitHub sem fazer um push de uma nova confirmação, crie uma implantação no Firebase console ou na Firebase CLI. Isso é útil para casos como:
- Forçar a regeneração de conteúdo estático.
- Permitir que um sistema de CI/CD acione implantações.
- Limitar as implantações de produção a datas ou horários específicos.
Para acionar uma implantação no Firebase console:
- No console do Firebase, navegue até Hosting e sem servidor > App Hosting.
- Clique em Ver no back-end para o qual você quer criar uma implantação.
- No resumo do painel do back-end, selecione Criar implantação.
- Selecione o branch a ser implantado.
- Selecione a confirmação a ser implantada, a mais recente ou uma anterior especificada pelo ID de confirmação.
- Selecione Criar. O status e um número da versão da implantação são mostrados na tabela de histórico de implantação. Quando o processo de implantação é concluído, essa implantação é mostrada como a atual.
Para acionar uma implantação na Firebase CLI, execute o comando a seguir e selecione o branch para a implantação quando solicitado:
firebase apphosting:rollouts:create BACKEND_ID
Como alternativa, você pode iniciar uma implantação para a confirmação mais recente de um branch específico usando a opção --git-branch:
firebase apphosting:rollouts:create BACKEND_ID
--git_branch BRANCH_NAME
Também é possível criar uma implantação com uma confirmação específica usando a opção --git-commit:
firebase apphosting:rollouts:create BACKEND_ID
--git_commit COMMIT_ID
Restaurar uma implantação anterior
App Hosting oferece duas opções para restaurar uma implantação anterior:
- Reverter instantaneamente sem recriar
- Recriar e reverter para uma versão anterior
Criar uma reversão instantânea
Às vezes, é necessário reverter rapidamente para uma versão mais antiga do app, por exemplo, se você descobriu um bug crítico em uma implantação recém-implantada ou se está enfrentando um build instável que está bloqueando novas implantações. Nesses casos, é possível restaurar uma imagem do contêiner existente de sua escolha de uma implantação anterior. Essa imagem não é recriada, mas usa o código e a configuração do ambiente de quando foi criada.
Para criar uma reversão instantânea:
- No console do Firebase, navegue até Hosting e sem servidor > App Hosting.
- Clique em Ver no back-end para o qual você quer criar uma reversão.
- Selecione a guia Implantações.
- Na tabela Histórico do back-end, selecione o menu de três pontos de um build anterior.
- Selecione Reverter para este build e confirme.
Recriar e reverter
Se você quiser reverter para uma versão mais antiga do app, mas ainda manter a configuração atual, recrie o app como parte do processo de reversão. Por exemplo, se a versão mais recente atualizou um valor de chave de API em Secret Manager, a recriação poderá garantir que a nova chave seja usada no app após a reversão.
Para recriar e reverter:
- No console do Firebase, navegue até Hosting e sem servidor > App Hosting.
- Clique em Ver painel no back-end para o qual você quer criar uma reversão.
- Selecione a guia Implantações.
- Selecione Criar implantação.
- Na caixa de diálogo Criar uma implantação, selecione Confirmação anterior e insira o ID de confirmação da versão que você quer recriar e reverter. O ID de confirmação faz parte dos "Detalhes da mudança" de cada implantação listada no Histórico de implantação,contido entre parênteses no rótulo.
- Selecione Criar para iniciar a reversão.
Alterar as configurações de implantação
É possível mudar o branch ativo para implantações e desativar ou ativar implantações automáticas usando controles na visualização Configurações > Implantação no painel de um back-end.
- No console do Firebase, navegue até Hosting e sem servidor > App Hosting.
- Clique em Ver no back-end em que você quer atualizar as configurações de implantação.
- No painel do back-end, selecione Configurações. A visualização padrão mostra informações sobre domínios e domínios personalizados.
- Selecione a visualização Implantação. Nessa visualização, é possível mudar o branch ativo para implantações e desativar ou ativar implantações automáticas. Além disso, há opções para definir o diretório raiz do app e o ambiente do back-end (consulte Implantar em vários ambientes).
Gerenciar implantações automáticas
Por padrão, App Hosting assume uma lista "obrigatória" de todos os arquivos, o que significa que cada nova confirmação no repositório aciona um novo build e implantação. No entanto, para economizar tempo e evitar implantações desnecessárias, é possível configurar App Hosting para ignorar builds com base nos caminhos de arquivo específicos modificados em uma confirmação.
É possível configurar isso em Configurações > Implantações > Acionadores de implantação. Nessa seção, deixe Caminhos obrigatórios em branco se quiser que cada nova confirmação no repositório acione um novo build e implantação ou especifique exatamente quais diretórios ou arquivos sempre acionam uma implantação. Se você especificar diretórios, adicione todos os caminhos em que as mudanças devem acionar uma implantação.
Os diretórios ou arquivos adicionados a Caminhos ignorados nunca acionam uma implantação automática. Nos casos em que um subdiretório se enquadra nas listas obrigatórias e ignoradas, uma implantação automática não será acionada. Se você preencher apenas a lista de caminhos ignorados, App Hosting vai preencher automaticamente "*" para os caminhos obrigatórios.
Se você fizer um push de uma confirmação em que nenhum dos arquivos alterados corresponda aos caminhos obrigatórios
(ou se todas as mudanças forem explicitamente excluídas pelos caminhos ignorados),
App Hosting ainda vai reconhecer o recebimento do evento do GitHub, mas vai
marcar os estados de build e implantação como SKIPPED, e nenhuma implantação automática será
acionada.