Se você tiver os lançamentos automáticos ativados, sempre que enviar um novo commit para a ramificação ativa 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 console do Firebase ou na verificação do App Hosting no GitHub.
Além disso, o 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 dá acesso a informações detalhadas sobre todos os lançamentos do seu app.
Acesse Hosting e Serverless> 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 o histórico de todos os lançamentos desse back-end.
Cada entrada de lançamento contém links para o job Cloud Build e a mudança ou o commit 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 o App Hosting executa o comando de build do app. Para acessar os registros do Cloud Build, clique no ID da build.
- A mudança é o commit do GitHub ou outra ação que acionou o lançamento.
Acionar um lançamento manualmente
Se quiser acionar manualmente um lançamento da sua fonte do GitHub sem enviar um novo commit, crie um lançamento no console Firebase ou na CLI Firebase. Isso é útil em 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 console do Firebase:
- No console do Firebase, acesse Hosting & Serverless > App Hosting.
- Clique em Visualizar no back-end para o qual você quer criar um lançamento.
- No resumo do painel de back-end, selecione Criar lançamento.
- Selecione a ramificação a ser implantada.
- Selecione o commit a ser implantado, o mais recente ou um anterior especificado pelo ID dele.
- Selecione Criar. O status e um número de build do lançamento são mostrados na tabela do histórico de lançamentos. Quando o processo de lançamento for concluído, ele será exibido como o lançamento atual.
Para acionar um lançamento na CLI Firebase, execute o seguinte comando e selecione a ramificação para o lançamento quando solicitado:
firebase apphosting:rollouts:create BACKEND_ID
Como alternativa, você pode iniciar um lançamento para o commit mais recente de uma ramificação
específica 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 um commit específico usando a opção --git-commit:
firebase apphosting:rollouts:create BACKEND_ID
--git_commit COMMIT_ID
Restaurar um lançamento anterior
O App Hosting oferece duas opções para restaurar um lançamento anterior:
- Reverter instantaneamente sem reconstruir
- Reconstruir e reverter para uma versão anterior
Criar um rollback instantâneo
À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 de sua escolha de um lançamento anterior. Essa imagem não é recriada, mas usa o código e a configuração de ambiente de quando foi criada pela primeira vez.
Para criar um rollback instantâneo:
- No console do Firebase, acesse Hosting & Serverless > App Hosting.
- Clique em Visualizar no back-end para o qual você quer criar um rollback.
- Selecione a guia Implantações.
- Na tabela Histórico do back-end, selecione o menu de três pontos para um build anterior.
- Selecione Reverter para este build e confirme.
Recriar e reverter
Se 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 rollback. Por exemplo, se a versão mais recente atualizou um valor de chave de API em Secret Manager, a recriação garante que a nova chave seja usada no app após o rollback.
Para recriar e reverter:
- No console do Firebase, acesse Hosting & Serverless > App Hosting.
- Clique em Ver painel no back-end para o qual você quer criar um rollback.
- Selecione a guia Implantações.
- Selecione Criar lançamento.
- Na caixa de diálogo Criar um lançamento, selecione Commit anterior e insira o ID do commit da versão que você quer recriar e reverter. O ID do commit faz parte dos "Detalhes da mudança" de cada lançamento listado no Histórico de lançamentos,que está entre parênteses no rótulo.
- Selecione Criar para iniciar o rollback.
Mudar as configurações de lançamento
É possível mudar a ramificação ativa 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, acesse Hosting & Serverless > App Hosting.
- Clique em Ver no back-end em que você quer atualizar as configurações de lançamento.
- No painel de 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 a ramificação ativa 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, o App Hosting pressupõe uma lista "obrigatória" de todos os arquivos, o que significa que cada novo commit no seu repositório aciona um novo build e lançamento. No entanto, para economizar tempo e evitar implantações desnecessárias, é possível configurar o App Hosting para ignorar builds com base nos caminhos de arquivo específicos modificados em um commit.
É possível configurar isso em Configurações > Lançamentos > Gatilhos de lançamento. Aqui, você pode deixar Caminhos obrigatórios em branco se quiser que cada novo commit no seu repositório acione uma nova build e um novo lançamento. Também é possível 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 a Caminhos ignorados nunca vão acionar um lançamento automático. Se um subdiretório se enquadrar nas listas de obrigatórios e ignorados, 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ê enviar um commit em que nenhum dos arquivos alterados corresponda aos caminhos obrigatórios
(ou se todas as mudanças forem explicitamente excluídas pelos caminhos ignorados),
o App Hosting ainda vai confirmar 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.