了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

Gestisci i canali live e in anteprima, le versioni e le versioni per il tuo sito

Firebase Hosting fornisce strumenti tramite la console Firebase e l'interfaccia a riga di comando di Firebase per gestire i canali, le versioni e le versioni per il tuo sito di hosting.

Panoramica dell'infrastruttura di hosting

Comprendere l'infrastruttura di hosting ti aiuta a comprendere le opzioni di gestione descritte in questa pagina.

Ogni progetto Firebase ha un sito Hosting predefinito con accesso a tutte le risorse del progetto (database, autenticazione, funzioni, ecc.). Un sito contiene uno o più canali , in cui ogni canale è associato a un URL che serve contenuti specifici e una configurazione di hosting.

un'immagine della gerarchia di Firebase Hosting

Ogni sito di hosting ha un canale "live" che serve contenuti e una configurazione di hosting presso (1) i sottodomini forniti da Firebase del sito ( SITE_ID .web.app e SITE_ID .firebaseapp.com ) e (2) tutti i domini personalizzati collegati . Puoi anche creare facoltativamente canali di "anteprima" che offrono i propri contenuti e la propria configurazione in "URL di anteprima" temporanei e condivisibili ( SITE_ID -- CHANNEL_ID - RANDOM_HASH .web.app ).

Il contenuto e la configurazione forniti da ogni canale sono impacchettati in un oggetto versione che ha un identificatore univoco. Quando esegui la distribuzione sul tuo sito, Firebase crea un oggetto di rilascio che punta a una versione specifica. Una versione contiene metadati sulla distribuzione, come chi ha distribuito e quando ha distribuito.

Dalla dashboard di hosting del tuo progetto Firebase , puoi visualizzare una cronologia completa delle versioni del tuo canale live in una tabella Cronologia delle versioni . Se disponi di più siti di hosting , fai clic su Visualizza per il sito desiderato per visualizzarne la cronologia delle versioni. Se disponi di canali di anteprima, vengono visualizzati anche nella dashboard di hosting.

Gestisci le impostazioni di un canale

Per ogni canale del tuo sito, puoi controllarne le impostazioni. Alcune impostazioni, come la scadenza del canale, sono applicabili solo per i canali in anteprima.

Limita il numero di versioni da conservare

Ogni volta che esegui la distribuzione su un canale (e crei una versione), l'hosting mantiene la versione associata alla versione precedente nell'archivio di hosting del tuo progetto. Puoi impostare il numero di uscite da conservare per ogni canale del tuo progetto, sia dal vivo che in anteprima.

  • Perché Hosting mantiene le versioni precedenti?
    Per il tuo canale live, mantenere le versioni precedenti ti consente di tornare a una versione precedente del tuo sito, se necessario. Per i tuoi canali di anteprima, il rollback non è ancora disponibile.

  • Perché limitare il numero di versioni da conservare?
    Questa funzione può aiutarti a controllare il livello di utilizzo dell'archivio di hosting del tuo progetto , poiché il contenuto delle versioni precedenti viene conservato in questo archivio. Puoi monitorare lo spazio di archiviazione dell'hosting dalla scheda Archiviazione nella console.

  • Cosa succede quando limiti le versioni da conservare?
    Quando imposti un limite per le versioni da conservare, il contenuto di tutte le versioni che superano il limite impostato viene programmato per l'eliminazione, a partire dalle versioni meno recenti .

Ecco come impostare il limite di archiviazione delle versioni per un canale:

  1. Nella console Firebase , accedi alla finestra di dialogo delle impostazioni di archiviazione del rilascio:

    • Per il tuo canale live
      Nella tabella Cronologia delle versioni del tuo sito, fai clic su , quindi seleziona Impostazioni di archiviazione delle versioni .

    • Per qualsiasi canale di anteprima
      Nella riga del canale di anteprima, fai clic su , quindi seleziona Impostazioni canale .

  2. Inserisci il numero di versioni che desideri conservare, quindi fai clic su Salva .

Imposta la scadenza di un canale di anteprima

Per impostazione predefinita, un canale di anteprima scade 7 giorni dopo la data di creazione, ma il canale live del tuo sito non scadrà mai.

Quando un canale di anteprima scade, il canale, insieme alle sue versioni e alle versioni associate, viene pianificato per l'eliminazione entro 24 ore. Anche l'URL di anteprima associato viene disattivato. Un'eccezione a questa cancellazione di versione è se una versione è associata a un'altra versione (questo accade, ad esempio, se si clona una versione da un canale a un altro all'interno dello stesso sito ).

L'hosting supporta due modi diversi per controllare la scadenza di un canale:

  • Console Firebase
    Nella riga del canale di anteprima, fai clic su , quindi seleziona Impostazioni canale . Immettere la data e l'ora di scadenza.

  • interfaccia a riga di comando di Firebase
    Quando esegui il deployment nel tuo canale di anteprima, passa il flag --expires DURATION , ad esempio:

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

    La scadenza può essere fino a 30 giorni dalla data di distribuzione. Usa h per ore, d per giorni e w per settimane (ad esempio, 12h , 7d , 2w , rispettivamente).

Clonare una versione da un canale all'altro

Puoi clonare una versione distribuita da un canale a un canale diverso. Puoi clonare su canali live o in anteprima, su siti di hosting o persino su progetti Firebase.

Il comando clone si distribuisce anche al canale "target" in modo che il contenuto e la configurazione dell'hosting clonati vengano offerti automaticamente all'URL associato del canale "target".

Questa funzione è utile per il monitoraggio delle versioni o se vuoi avere la sicurezza di distribuire esattamente i contenuti che hai visualizzato e/o testato su un altro canale. Ecco alcuni esempi:

  • Clona da un canale di anteprima "QA" al canale live del tuo sito (in diretta!)

  • Clonare dal canale live del tuo sito a un canale di anteprima di "debug" (come prima di un rollback)

  • Clona da un canale nel tuo progetto Firebase "staging" a un canale di anteprima nel tuo progetto Firebase "prod".

Per clonare una versione, eseguire il seguente comando da qualsiasi directory:

firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID

Sostituisci ogni segnaposto con quanto segue:

  • SOURCE_SITE_ID e TARGET_SITE_ID : questi sono gli ID dei siti di hosting che contengono i canali.

    • Per il tuo sito di hosting predefinito, utilizza il tuo ID progetto Firebase.
    • Puoi specificare i siti di hosting che si trovano nello stesso progetto Firebase o anche in diversi progetti Firebase.
  • SOURCE_CHANNEL_ID e TARGET_CHANNEL_ID : questi sono gli identificatori per i canali.

    • Per un canale live, utilizza live come ID canale.
    • Se il canale "target" specificato non esiste ancora, questo comando crea il canale prima di distribuirlo.

Torna a una versione precedente del tuo sito

Puoi eseguire il rollback per pubblicare una versione precedente del canale dal vivo del tuo sito. Questa azione è utile se la tua versione corrente presenta un problema e desideri eseguire il rollback per pubblicare una versione funzionante nota del tuo sito. O forse il tuo sito ha pubblicato contenuti temporanei per una vacanza o un evento speciale, ma ora vuoi tornare indietro per pubblicare i tuoi contenuti "normali".

Eseguendo il rollback, crei una nuova versione che offre la stessa versione del contenuto di una versione precedente. Nella tabella della cronologia delle versioni , entrambe le versioni elencheranno lo stesso identificatore di versione.

Ecco come eseguire il rollback:

  1. Nella console di Firebase , nella tabella Cronologia versioni del tuo sito, passa il mouse sopra la voce della versione precedente a cui desideri eseguire il rollback.

  2. Fai clic su , quindi seleziona Ripristina .

Elimina manualmente una versione

Potrebbe essere necessario eliminare manualmente una versione dal tuo canale live per liberare spazio di archiviazione dell'hosting per il tuo progetto. Puoi eliminare solo le versioni precedenti, non la versione attualmente pubblicata sul tuo sito live.

Quando elimini una pubblicazione, in realtà ne elimini il contenuto, la cui eliminazione è programmata entro 24 ore. L'oggetto di rilascio stesso viene mantenuto in modo che tu possa ancora vedere i suoi metadati (chi è stato distribuito e quando è stato distribuito).

Ecco come eliminare una release:

  1. Nella console di Firebase , nella tabella Cronologia versioni del tuo sito, passa il mouse sopra la voce della versione precedente che desideri eliminare.

  2. Fai clic su , quindi seleziona Elimina .

Elimina manualmente un canale di anteprima

Puoi eliminare un canale di anteprima, ma non puoi eliminare il canale dal vivo del tuo sito.

Quando elimini un canale in anteprima, l'eliminazione del canale, delle sue uscite e delle versioni associate viene pianificata entro 24 ore. Anche l'URL di anteprima associato viene disattivato. Un'eccezione alla cancellazione della versione è se una versione è associata a un'altra versione (questo accade, ad esempio, se si clona una versione da un canale a un altro all'interno dello stesso sito ).

L'hosting supporta due modi diversi per eliminare un canale di anteprima:

  • Console Firebase
    Nella riga del canale di anteprima, fai clic su , quindi seleziona Elimina canale . Conferma l'eliminazione.

  • interfaccia a riga di comando di Firebase
    Eseguire il seguente comando da qualsiasi directory:

    firebase hosting:channel:delete CHANNEL_ID

Comandi CLI per canali di anteprima e clonazione

Comandi per i canali di anteprima

Tutti i comandi per i canali di anteprima supportano le destinazioni di distribuzione se si dispone di più siti di hosting .

Comando Descrizione
firebase hosting:channel:create CHANNEL_ID

Crea un nuovo canale di anteprima nel sito di hosting predefinito utilizzando il CHANNEL_ID specificato

Questo comando non viene distribuito al canale.

firebase hosting:channel:delete CHANNEL_ID

Elimina il canale di anteprima specificato

Non puoi eliminare il canale live di un sito.

firebase hosting:channel:deploy CHANNEL_ID

Distribuisce il contenuto e la configurazione dell'hosting nel canale di anteprima specificato

Se il canale di anteprima non esiste ancora, questo comando crea il canale nel sito di hosting predefinito prima della distribuzione nel canale.

firebase hosting:channel:list Elenca tutti i canali (incluso il canale "live") nel sito di hosting predefinito
firebase hosting:channel:open CHANNEL_ID Apre un browser sull'URL del canale specificato o restituisce l'URL se l'apertura in un browser non è possibile

Comandi per la clonazione della versione

Comando Descrizione
firebase hosting:clone \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Clona la versione distribuita più di recente sul canale di "origine" specificato nel canale di "destinazione" specificato

Questo comando distribuisce anche al canale "target" specificato. Se il canale "target" non esiste ancora, questo comando crea un nuovo canale di anteprima nel sito di hosting "target" prima della distribuzione nel canale.

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

Clona la versione specificata nel canale "target" specificato

Questo comando distribuisce anche al canale "target" specificato. Se il canale "target" non esiste ancora, questo comando crea un nuovo canale di anteprima nel sito di hosting "target" prima della distribuzione nel canale.

Puoi trovare VERSION_ID nella dashboard di hosting della console Firebase.