Se os lançamentos automáticos estiverem ativados, sempre que você 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 GitHub do App Hosting.
Além disso, o App Hosting é compatível com 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 do Firebase fornece acesso a informações detalhadas sobre todos os lançamentos do seu app.
Acesse Hospedagem e sem servidor > App Hosting e selecione Ver para o back-end com os lançamentos que você quer conferir. A guia Lançamentos do back-end exibe uma tabela que lista um histórico de todos os lançamentos desse back-end.
Cada entrada de lançamento contém links para o job do Cloud Build e a alteração 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 do build.
- A Mudança é o commit do GitHub ou outra ação que acionou o lançamento.
Acionar um lançamento manualmente
Se você quiser acionar manualmente um lançamento da sua origem do GitHub sem enviar um novo commit, crie um lançamento no console do Firebase ou na CLI do 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 Hospedagem e sem servidor > 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 que será implantada.
- Selecione o commit a ser implantado, seja o mais recente ou um anterior especificado pelo ID de commit.
- Selecione Criar. O status e o número da versão do lançamento são exibidos na tabela de histórico de lançamentos. Quando o processo de lançamento for concluído, esse lançamento será exibido como o 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, é possível 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 recriar
- Recriar e reverter para uma versão anterior
Criar uma reversão instantânea
Às vezes, pode ser necessário reverter rapidamente para uma versão anterior do app. Por exemplo, se você descobriu um bug crítico em um lançamento recém-implantado ou está enfrentando uma build instável que está bloqueando novos lançamentos. Nesses casos, é possível restaurar uma imagem do 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 uma reversão instantânea:
- No console do Firebase, acesse Hospedagem e sem servidor > App Hosting.
- Clique em Visualizar no back-end em que 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 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 pode garantir que a nova chave seja usada no app após a reversão.
Para recriar e reverter:
- No console do Firebase, acesse Hospedagem 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 Commit anterior e insira o ID do commit da versão que você quer recriar e reverter. O ID de commit faz parte dos "Detalhes da mudança" de cada lançamento listado no Histórico de lançamentos, entre parênteses no rótulo.
- Selecione Criar para iniciar a reversão.
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 Hospedagem e sem servidor > App Hosting.
- Clique em Visualizar 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 para o back-end (consulte Implantar em vários ambientes).
Gerenciar lançamentos automáticos
Por padrão, o App Hosting assume uma lista "obrigatória" de todos os arquivos, o que significa que cada novo commit no repositório aciona um novo build e lançamento. No entanto, para economizar tempo e evitar implantações desnecessárias, configure o App Hosting para pular builds com base nos caminhos de arquivo específicos modificados em um commit.
É possível configurar isso em Configurações > Lançamentos > Acionadores de lançamento. Aqui, você pode deixar Caminhos obrigatórios em branco se quiser que cada novo commit no repositório acione um novo build e lançamento, ou pode especificar exatamente quais diretórios ou arquivos devem sempre 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. Se um subdiretório se enquadrar tanto na lista obrigatória quanto na lista de ignorados, uma implantação automática não será acionada. Se você preencher apenas a lista de caminhos ignorados, o App Hosting vai preencher automaticamente "*" para os caminhos obrigatórios.
Se você enviar um commit em que nenhum dos arquivos alterados corresponda aos caminhos necessários
(ou se todas as alterações 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.