Se você tiver lançamentos automáticos ativados, toda vez que fizer um push de uma nova confirmação para o branch ativo no repositório do GitHub, o App Hosting vai lançar automaticamente uma nova versão do app. É possível verificar o status do lançamento 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 lançamentos
O console Firebase oferece acesso a informações detalhadas sobre todos os lançamentos do app.
Navegue até Hosting e sem servidor> App Hosting, e selecione Ver para o back-end cujos lançamentos você quer conferir. A guia Lançamentos do back-end mostra uma tabela com um histórico de todos os lançamentos desse back-end.
Cada entrada de lançamento contém links para o Cloud Build job e a mudança ou confirmação que acionou o lançamento, além de informações básicas sobre o autor, a data de criação e o status do lançamento.
- 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 o lançamento.
Acionar um lançamento manualmente
Se você quiser acionar um lançamento manualmente da origem do GitHub sem fazer um push de uma nova confirmação, crie um lançamento no console Firebase ou na CLI Firebase. Isso é útil para casos como:
- Forçar a regeneração de conteúdo estático.
- Permitir que um sistema de CI/CD acione lançamentos.
- Limitar os lançamentos de produção a datas ou horários específicos.
Para acionar um lançamento 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 um lançamento.
- No resumo do painel do back-end, selecione Criar lançamento.
- 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 do lançamento são mostrados na tabela de histórico de lançamentos. Quando o processo de lançamento é concluído, ele é mostrado como o lançamento atual.
Para acionar um lançamento na Firebase CLI, execute o comando a seguir e selecione o branch para o lançamento quando solicitado:
firebase apphosting:rollouts:create BACKEND_ID
Como alternativa, você pode iniciar um lançamento 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 um lançamento com uma confirmação específica usando a opção --git-commit:
firebase apphosting:rollouts:create BACKEND_ID
--git_commit COMMIT_ID
Restaurar um lançamento anterior
App Hosting oferece duas opções para restaurar um lançamento 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 um lançamento recém-implantado ou se está enfrentando um build instável que está bloqueando novos lançamentos. Nesses casos, é possível restaurar uma imagem de contêiner existente de sua escolha de um lançamento 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 Lançamentos.
- 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 Lançamentos.
- Selecione Criar lançamento.
- Na caixa de diálogo Criar um lançamento, selecione Confirmação anterior e insira o ID da confirmação da versão que você quer recriar e reverter. O ID da confirmação faz parte dos "Detalhes da mudança" de cada lançamento listado no Histórico de lançamentos,contido entre parênteses no rótulo.
- Selecione Criar para iniciar a reversão.
Alterar as configurações de lançamento
É possível mudar o branch ativo para lançamentos e desativar ou ativar lançamentos automáticos usando os 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 lançamento.
- 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 lançamentos e desativar ou ativar lançamentos automáticos. 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 lançamentos automáticos
Por padrão, App Hosting considera uma lista "obrigatória" de todos os arquivos, o que significa que cada nova confirmação no repositório aciona um novo build e lançamento. 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 > Lançamentos > Acionadores de lançamento. Aqui, você pode deixar os Caminhos obrigatórios em branco se quiser que cada nova confirmação no repositório acione um novo build e lançamento ou especificar exatamente quais diretórios ou arquivos sempre devem acionar um lançamento. Se você especificar diretórios, adicione todos os caminhos em que as mudanças devem acionar um lançamento.
Os diretórios ou arquivos adicionados aos Caminhos ignorados nunca vão acionar um lançamento automático. Nos casos em que um subdiretório se enquadra nas listas obrigatórias e ignoradas, um lançamento automático não será acionado. 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 lançamento como SKIPPED, e nenhum lançamento automático será
acionado.