Gestisci live & visualizzare in anteprima canali, versioni e versioni per il tuo sito

Firebase Hosting fornisce strumenti tramite la console Firebase e la CLI Firebase per gestire i canali, i rilasci e le versioni per il tuo sito di hosting.

Panoramica dell'infrastruttura 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 ciascun canale è associato a un URL che fornisce contenuti specifici e una configurazione di hosting.

un'immagine della gerarchia di Firebase Hosting

Ogni sito di hosting dispone di un canale "live" che fornisce 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) eventuali domini personalizzati collegati. Facoltativamente, puoi anche creare canali di "anteprima" che offrono i propri contenuti e la propria configurazione su "URL di anteprima" temporanei e condivisibili ( SITE_ID -- CHANNEL_ID - RANDOM_HASH .web.app ).

Il contenuto e la configurazione serviti da ciascun canale sono inseriti in un oggetto versione dotato di 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, ad esempio chi ha effettuato la distribuzione e quando lo ha fatto.

Dalla dashboard di hosting del tuo progetto Firebase, puoi visualizzare la cronologia completa delle versioni del tuo canale live nella tabella Cronologia 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 di anteprima.

Limita il numero di versioni da conservare

Ogni volta che esegui la distribuzione su un canale (e crei una versione), Hosting mantiene la versione associata alla versione precedente nello spazio di archiviazione dell'Hosting del tuo progetto. Puoi impostare il numero di versioni da conservare per ciascun canale del tuo progetto, sia quelli live che quelli di anteprima.

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

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

  • Cosa succede quando limiti le pubblicazioni da conservare?
    Quando imposti un limite per le versioni da conservare, viene pianificata l'eliminazione del contenuto di tutte le versioni che superano il limite impostato, iniziando per prime dalle versioni più vecchie .

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

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

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

    • Per qualsiasi canale di anteprima
      Nella riga relativa al 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 dalla data di creazione, ma il canale live del tuo sito non scadrà mai.

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

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

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

  • CLI Firebase
    Quando esegui la distribuzione sul tuo canale di anteprima, passa il flag --expires DURATION , ad esempio:

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

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

Clona 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 viene inoltre distribuito al canale "di destinazione" in modo che il contenuto e la configurazione dell'hosting clonato vengano automaticamente serviti nell'URL associato del canale "di destinazione".

Questa funzionalità è utile per il monitoraggio della versione o se vuoi avere la certezza di distribuire esattamente il contenuto 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 (diventando live!)

  • Clona 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 di "staging" a un canale di anteprima nel tuo progetto Firebase "prod".

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

firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID

Sostituisci ciascun segnaposto con quanto segue:

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

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

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

Torna a una versione precedente del tuo sito

Puoi tornare indietro per pubblicare una versione precedente del canale live del tuo sito. Questa azione è utile se la versione corrente presenta un problema e desideri tornare indietro per pubblicare una versione funzionante nota del tuo sito. O forse il tuo sito offriva contenuti temporanei per una festività o un evento speciale, ma ora desideri tornare indietro per pubblicare i tuoi contenuti "normali".

Eseguendo il rollback, crei una nuova versione che offre la stessa versione di 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 Firebase , nella tabella Cronologia versioni del tuo sito, passa il mouse sopra la voce di versione precedente a cui desideri ripristinare.

  2. Fare clic su , quindi selezionare Ripristina .

Elimina manualmente una versione

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

Quando elimini una versione, ne elimini effettivamente il contenuto, la cui eliminazione è pianificata entro 24 ore. L'oggetto di rilascio stesso viene mantenuto in modo che sia ancora possibile visualizzarne i metadati (chi ha distribuito e quando lo ha distribuito).

Ecco come eliminare una versione:

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

  2. Fai clic su , quindi seleziona Elimina .

Elimina manualmente un canale di anteprima

Puoi visualizzare l'anteprima dei tuoi canali facendo clic sul canale che desideri visualizzare in anteprima. Da questa visualizzazione è possibile visualizzare, eliminare e ripristinare le distribuzioni e i rilasci più recenti legati al canale specifico. Puoi eliminare un canale di anteprima, ma non puoi eliminare il canale live del tuo sito.

Quando elimini un canale di anteprima, viene pianificata l'eliminazione del canale, insieme alle sue versioni e alle versioni associate, entro 24 ore. Anche l'URL di anteprima associato è disattivato. Un'eccezione alla cancellazione della versione avviene se una versione è associata ad un'altra release (questo accade, ad esempio, se si clona una versione da un canale all'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.

  • CLI Firebase
    Esegui il comando seguente 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 la distribuzione di destinazioni se disponi 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 sul canale.

firebase hosting:channel:delete CHANNEL_ID

Elimina il canale di anteprima specificato

Non è possibile eliminare il canale live di un sito.

firebase hosting:channel:deploy CHANNEL_ID

Distribuisce il contenuto e la configurazione dell'hosting sul 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 sul 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 all'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ù recentemente sul canale "di origine" specificato sul canale "di destinazione" specificato

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

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

Clona la versione specificata sul canale "di destinazione" specificato

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

Puoi trovare VERSION_ID nella dashboard di hosting della console Firebase.