Gerencie canais, lançamentos e versões ao vivo e de visualização para seu site

O Firebase Hosting fornece ferramentas por meio do Firebase console e da Firebase CLI 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 do Firebase tem um site do 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 um URL que veicula conteúdo específico e uma configuração de hospedagem.

uma imagem da hierarquia do Firebase Hosting

Todo site do Hosting tem um canal "ao vivo" que veicula conteúdo e uma configuração do Hosting em (1) os subdomínios provisionados pelo Firebase do site ( SITE_ID .web.app e SITE_ID .firebaseapp.com ) e (2) qualquer domínio personalizado conectado . Você também pode opcionalmente criar canais de "visualização" que veiculam seu próprio conteúdo e configuração em "URLs de visualização" temporárias 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 em 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 de hospedagem do seu projeto do Firebase , você pode ver um histórico completo dos lançamentos do seu canal ao vivo em uma tabela do histórico de lançamentos . Se você tiver vários sites de hospedagem , clique em Exibir 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 expiração do canal, são aplicáveis ​​apenas a canais de visualização.

Limitar o número de versões a serem mantidas

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 em seu projeto, tanto canais ao vivo quanto de visualização.

  • Por que a Hosting mantém as versões anteriores?
    Para 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?
    Esse recurso pode ajudá-lo a controlar o nível de uso do armazenamento do Hosting do seu projeto , pois o conteúdo das versões anteriores é mantido nesse armazenamento. Você pode monitorar seu armazenamento de hospedagem na guia Armazenamento no console.

  • O que acontece quando você limita os lançamentos para manter?
    Quando você define um limite para manter as versões, o conteúdo de todas as versões acima do limite definido é agendado para exclusão, começando com as versões mais antigas .

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 da versão:

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

    • 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 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 a partir da data de criação, mas o canal ao vivo do seu site nunca expira.

Quando um canal de visualização expira, o canal, juntamente com seus lançamentos e versões associadas, são programados para exclusão em 24 horas. O URL de visualização associado também é desativado. Uma exceção a essa exclusão de versão é se uma versão estiver associada a outra versão (isso acontece, por exemplo, se você clonar uma versão de um canal para outro no 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 para expiração.

  • CLI do Firebase
    Ao implantar em seu canal de visualização, passe o --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 implantada de um canal para um canal diferente. Você pode clonar em canais ao vivo ou de visualização, em sites do Hosting ou até mesmo em 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 exibidos automaticamente na URL associada do canal "destino".

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

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

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

  • Clone de um canal em seu projeto "staging" do Firebase para um canal de visualização em 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 : Esses são os IDs dos sites de hospedagem que contêm os canais.

    • Para seu site do Hosting padrão, use o ID do projeto do Firebase.
    • Você pode especificar sites do Hosting 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 o 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 ao vivo do seu site. Essa ação é útil se sua versão atual tiver um problema e você quiser reverter para veicular uma versão de trabalho 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 atende à mesma versão de conteúdo de uma versão anterior. Em sua tabela de histórico de lançamentos , ambos os lançamentos listarão o mesmo identificador de versão.

Veja como reverter:

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

  2. Clique 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 seu projeto. Você só pode excluir versões anteriores, não a versão que está sendo veiculada no seu site ativo.

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

Veja como excluir uma versão:

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

  2. Clique e selecione Excluir .

Excluir manualmente um canal de visualização

Você pode excluir um canal de visualização, mas não pode excluir o canal ao vivo do seu site.

Quando você exclui um canal de visualização, o canal, juntamente com seus lançamentos e versões associadas, são agendados para exclusão em 24 horas. O URL de visualização associado também é desativado. Uma exceção à exclusão de versão é se uma versão estiver associada a outra versão (isso acontece, por exemplo, se você clonar uma versão de um canal para outro no 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 canais de visualização e clonagem

Comandos para canais de visualização

Todos os comandos para canais de visualização oferecem suporte a destinos 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 do Hosting 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 ao vivo de um site.

firebase hosting:channel:deploy CHANNEL_ID

Implanta o conteúdo e a 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

Esse comando também é implantado 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

Esse comando também é implantado 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 do Hosting do Firebase console.