Gerenciar ao vivo e visualizar canais, lançamentos e versões do seu site

O Firebase Hosting fornece ferramentas por meio do console do Firebase e da CLI do Firebase para gerenciar os canais, lançamentos e versões do seu site do Hosting.

Visão geral da infraestrutura de hospedagem

Compreender a infraestrutura de hospedagem ajuda você a entender as opções de gerenciamento descritas nesta página.

Todo projeto Firebase possui um site Hosting padrão com acesso a todos os recursos do projeto (bancos de dados, autenticação, funções, etc.). Um site contém um ou mais canais , onde cada canal está associado a uma URL que veicula conteúdo específico e uma configuração de hospedagem.

uma imagem da hierarquia do Firebase Hosting

Cada site de hospedagem tem um canal "ao vivo" que veicula conteúdo e uma configuração de hospedagem em (1) os subdomínios provisionados pelo Firebase do site ( SITE_ID .web.app e SITE_ID .firebaseapp.com ) e (2) quaisquer domínios personalizados conectados. Opcionalmente, você também pode criar canais de "visualização" que veiculam seu próprio conteúdo e configuração em "URLs de visualização" temporários e compartilháveis ​​( SITE_ID -- CHANNEL_ID - RANDOM_HASH .web.app ).

O conteúdo e a configuração servidos por cada canal são empacotados em um objeto de versão que possui um identificador exclusivo. Quando você implanta no seu site, o Firebase cria um objeto de lançamento que aponta para uma versão específica. Uma versão contém metadados sobre a implantação, como quem implantou e quando foi implantado.

No painel Hosting do seu projeto do Firebase, você pode ver um histórico completo dos lançamentos do seu canal ao vivo em uma tabela Histórico de lançamentos . Se você tiver vários sites de hospedagem , clique em Visualizar no site desejado para ver seu histórico de lançamentos. Se você tiver canais de visualização, eles também serão exibidos no painel de hospedagem.

Gerenciar as configurações de um canal

Para cada canal do seu site, você pode controlar suas configurações. Algumas configurações, como a expiração do canal, só são aplicáveis ​​a canais de visualização.

Limite o número de lançamentos a serem mantidos

Cada vez que você implanta em um canal (e cria uma versão), o Hosting mantém a versão associada à versão anterior no armazenamento do Hosting do seu projeto. Você pode definir o número de lançamentos a serem mantidos para cada canal do seu projeto, tanto canais ao vivo quanto canais de pré-visualização.

  • Por que a Hosting mantém as versões anteriores?
    Para o seu canal ao vivo, manter as versões anteriores permite reverter para uma versão anterior do seu site, se necessário. Para seus canais de visualização, a reversão ainda não está disponível.

  • Por que limitar o número de lançamentos a serem mantidos?
    Este recurso pode ajudá-lo a controlar o nível de uso do armazenamento do Hosting do seu projeto , já que o conteúdo das versões anteriores é mantido neste armazenamento. Você pode monitorar o armazenamento do Hosting na guia Armazenamento no console.

  • O que acontece quando você limita os lançamentos a serem mantidos?
    Quando você define um limite de lançamentos a serem mantidos, o conteúdo de todos os lançamentos acima do limite definido é agendado para exclusão, começando primeiro pelos lançamentos mais antigos .

Veja como definir o limite de armazenamento de lançamento para um canal:

  1. No console do Firebase , acesse a caixa de diálogo de configuração de armazenamento de lançamento:

    • Para o seu canal ao vivo
      Na tabela Histórico de versões do seu site, clique em e selecione Liberar configurações de armazenamento .

    • Para qualquer canal de visualização
      Na linha do canal de visualização, clique em e selecione Configurações do canal .

  2. Insira o número de versões que você deseja manter e clique em Salvar .

Definir a expiração de um canal de visualização

Por padrão, um canal de visualização expira 7 dias após a data de criação, mas o canal ativo do seu site nunca expira.

Quando um canal de pré-visualização expira, o canal, juntamente com seus lançamentos e versões associadas, são agendados para exclusão dentro de 24 horas. O URL de visualização associado também está desativado. Uma exceção a esta exclusão de versão é se uma versão estiver associada a outro lançamento (isso acontece, por exemplo, se você clonar uma versão de um canal para outro dentro do mesmo site ).

A hospedagem oferece suporte a duas maneiras diferentes de controlar a expiração de um canal:

  • Console do Firebase
    Na linha do canal de visualização, clique em e selecione Configurações do canal . Insira a data e hora de expiração.

  • CLI do Firebase
    Ao implantar em seu canal de visualização, passe o sinalizador --expires DURATION , por exemplo:

    firebase hosting:channel:deploy new-awesome-feature --expires 7d

    A expiração pode ser de até 30 dias a partir da data de implantação. Use h para horas, d para dias e w para semanas (por exemplo, 12h , 7d , 2w , respectivamente).

Clonar uma versão de um canal para outro

Você pode clonar uma versão implementada de um canal para um canal diferente. Você pode clonar canais ao vivo ou de visualização, sites de hospedagem ou até mesmo projetos do Firebase.

O comando clone também é implantado no canal "destino" para que o conteúdo e a configuração do Hosting clonado sejam automaticamente veiculados no URL associado ao canal "destino".

Esse recurso é útil para rastreamento de versão ou se você quiser ter certeza de que está implantando exatamente o conteúdo que visualizou e/ou testou em outro canal. aqui estão alguns exemplos:

  • Clone de um canal de visualização de "QA" para o canal ao vivo do seu site (ao vivo!)

  • Clone do canal ativo do seu site para um canal de visualização de "depuração" (como antes de uma reversão)

  • Clone de um canal no seu projeto "teste" do Firebase para um canal de visualização no seu projeto "prod" do Firebase

Para clonar uma versão, execute o seguinte comando em qualquer diretório:

firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID

Substitua cada espaço reservado pelo seguinte:

  • SOURCE_SITE_ID e TARGET_SITE_ID : Estes são os IDs dos sites de hospedagem que contêm os canais.

    • Para seu site de hospedagem padrão, use o ID do projeto do Firebase.
    • Você pode especificar sites de hospedagem que estão no mesmo projeto do Firebase ou até mesmo em projetos diferentes do Firebase.
  • SOURCE_CHANNEL_ID e TARGET_CHANNEL_ID : estes são os identificadores dos canais.

    • Para um canal ao vivo, use live como ID do canal.
    • Se o canal "destino" especificado ainda não existir, este comando cria o canal antes de implantá-lo.

Reverter para uma versão anterior do seu site

Você pode reverter para veicular uma versão anterior do canal ativo do seu site. Esta ação é útil se a sua versão atual tiver um problema e você quiser reverter para fornecer uma versão funcional conhecida do seu site. Ou talvez seu site tenha veiculado conteúdo temporário para um feriado ou evento especial, mas agora você deseja reverter para veicular seu conteúdo “normal”.

Ao reverter, você cria uma nova versão que fornece a mesma versão de conteúdo de uma versão anterior. Na tabela Histórico de versões , ambas as versões listarão o mesmo identificador de versão.

Veja como reverter:

  1. No console do Firebase , na tabela Histórico de versões do seu site, passe o mouse sobre a entrada da versão anterior para a qual você deseja reverter.

  2. Clique em e selecione Reverter .

Excluir manualmente uma versão

Talvez seja necessário excluir manualmente uma versão do seu canal ao vivo para liberar armazenamento do Hosting para o seu projeto. Você só pode excluir versões anteriores, não a versão atualmente veiculada em seu site ativo.

Ao excluir uma versão, você está, na verdade, excluindo seu conteúdo, que está agendado para exclusão dentro de 24 horas. O próprio objeto de lançamento é mantido para que você ainda possa ver seus metadados (quem foi implantado e quando foi implantado).

Veja como excluir um lançamento:

  1. No console do Firebase , na tabela Histórico de versões do seu site, passe o mouse sobre a entrada da versão anterior que você deseja excluir.

  2. Clique em e selecione Excluir .

Excluir manualmente um canal de visualização

Você pode visualizar seus canais clicando no canal que deseja visualizar. Nessa visualização, você pode ver, excluir e reverter as implantações e versões mais recentes vinculadas ao canal específico. Você pode excluir um canal de visualização, mas não pode excluir o canal ativo do seu site.

Quando você exclui um canal de pré-visualização, o canal, juntamente com seus lançamentos e versões associadas, são agendados para exclusão dentro de 24 horas. O URL de visualização associado também está desativado. Uma exceção à exclusão de versão é se uma versão estiver associada a outro lançamento (isso acontece, por exemplo, se você clonar uma versão de um canal para outro dentro do mesmo site ).

A hospedagem oferece suporte a duas maneiras diferentes de excluir um canal de visualização:

  • Console do Firebase
    Na linha do canal de visualização, clique em e selecione Excluir canal . Confirme a exclusão.

  • CLI do Firebase
    Execute o seguinte comando em qualquer diretório:

    firebase hosting:channel:delete CHANNEL_ID

Comandos CLI para visualização de canais e clonagem

Comandos para visualização de canais

Todos os comandos para canais de visualização suportam alvos de implantação se você tiver vários sites de hospedagem .

Comando Descrição
firebase hosting:channel:create CHANNEL_ID

Cria um novo canal de visualização no site de hospedagem padrão usando o CHANNEL_ID especificado

Este comando não é implementado no canal.

firebase hosting:channel:delete CHANNEL_ID

Exclui o canal de visualização especificado

Você não pode excluir o canal ativo de um site.

firebase hosting:channel:deploy CHANNEL_ID

Implanta seu conteúdo e configuração do Hosting no canal de visualização especificado

Se o canal de visualização ainda não existir, este comando cria o canal no site de hospedagem padrão antes de implantar no canal.

firebase hosting:channel:list Lista todos os canais (incluindo o canal "ao vivo") no site de hospedagem padrão
firebase hosting:channel:open CHANNEL_ID Abre um navegador para o URL do canal especificado ou retorna o URL se não for possível abrir em um navegador

Comandos para clonagem de versão

Comando Descrição
firebase hosting:clone \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Clona a versão implantada mais recentemente no canal "origem" especificado para o canal "destino" especificado

Este comando também é implementado no canal "destino" especificado. Se o canal "destino" ainda não existir, este comando cria um novo canal de visualização no site de hospedagem "destino" antes de implantar no canal.

firebase hosting:clone \
SOURCE_SITE_ID :@ VERSION_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Clona a versão especificada para o canal "destino" especificado

Este comando também é implementado no canal "destino" especificado. Se o canal "destino" ainda não existir, este comando cria um novo canal de visualização no site de hospedagem "destino" antes de implantar no canal.

Você pode encontrar o VERSION_ID no painel de hospedagem do console do Firebase.