Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

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

Firebase Hosting fornisce strumenti tramite la console Firebase e la CLI 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 di hosting di default con l'accesso a tutte le risorse del progetto (database, autenticazione, funzioni, etc.). Un sito contiene uno o più canali, in cui ogni canale è associato a un URL che serve contenuto specifico e una configurazione di hosting.

un'immagine della gerarchia di Firebase Hosting

Ogni sito di hosting ha un canale "live" che serve dei contenuti e una configurazione che ospita a (1) sottodomini Firebase-provisioning del sito ( SITE_ID .web.app e SITE_ID .firebaseapp.com ) e (2) qualsiasi collegate domini personalizzati . Opzionalmente si può anche creare canali "anteprima" che servono i propri contenuti e la configurazione a temporanee, condivisibili "URL anteprima" ( SITE_ID -- CHANNEL_ID - RANDOM_HASH .web.app ).

Il contenuto e la configurazione servita da ciascun canale è confezionato in un oggetto versione che ha un identificatore univoco. Quando si distribuisce al tuo sito, Firebase crea un oggetto di rilascio che punta a una versione specifica. Una versione contiene metadati sulla distribuzione, ad esempio chi è stato distribuito e quando è stato distribuito.

Da del progetto Firebase dashboard di hosting , si può vedere una storia piena di rilasci del tuo canale dal vivo in una tabella della cronologia di rilascio. Se si dispone di più siti di hosting , fare clic su Visualizza per il sito desiderato per vedere la sua storia di rilascio. Se disponi di canali di anteprima, vengono visualizzati anche nella dashboard di Hosting.

Gestire 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 ai canali di anteprima.

Limita il numero di rilasci da mantenere

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 di Hosting del tuo progetto. È possibile impostare il numero di rilasci per mantenere per ogni canale nel progetto, entrambi i canali dal vivo e in anteprima.

  • Perché Hosting mantiene le versioni precedenti?
    Per il vostro canale live, mantenendo precedenti release consente di ripristinare una versione precedente del sito, se necessario. Per i tuoi canali di anteprima, il rollback non è ancora disponibile.

  • Perché limitare il numero di rilasci da mantenere?
    Questa funzione può aiutare a controllare il livello di utilizzo del vostro stoccaggio di hosting del progetto , come il contenuto per le versioni precedenti, è tenuto in questa memoria. È possibile monitorare lo storage Hosting dalla scheda Archiviazione nella console.

  • Cosa succede quando limiti i rilasci da mantenere?
    Quando si imposta un limite per le emissioni per mantenere il contenuto di eventuali rilasci oltre il limite impostato è in programma per l'eliminazione, a partire dalle versioni meno recenti.

Ecco come impostare il limite di archiviazione di rilascio per un canale:

  1. Nella console Firebase , accedere alla finestra di impostazione di stoccaggio di rilascio:

    • Per il tuo canale live
      Nella tabella Storia di uscita per il vostro sito, fare clic , quindi selezionare le impostazioni di archiviazione di uscita.

    • Per qualsiasi canale di anteprima
      Nella riga per il canale anteprima, fare clic su , quindi selezionare Impostazioni canale.

  2. Inserire il numero di rilasci che desideri conservare, quindi fare 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, l'eliminazione del canale, insieme alle versioni e alle versioni associate, è programmata entro 24 ore. Viene disattivato anche l'URL di anteprima associato. Un'eccezione a questa versione, la cancellazione è se una versione è associato ad un altro rilascio (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 per il canale anteprima, fare clic su , quindi selezionare Impostazioni canale. Immettere la data e l'ora di scadenza.

  • Firebase CLI
    Quando si distribuisce per il canale anteprima, passare il --expires DURATION bandierina, 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 altro canale. Puoi clonare su canali live o in anteprima, su siti di hosting o anche su progetti Firebase.

Il comando clone distribuisce anche al canale "target" in modo che il contenuto Hosting clonato e di configurazione sono serviti automaticamente URL associato del canale "target".

Questa funzione è utile per la versione inseguimento o se si vuole la fiducia che si sta distribuendo il contenuto esatto che hai già visto e / o testati su un altro canale. Ecco alcuni esempi:

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

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

Per clonare una versione, esegui 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, usa 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 : Queste sono le identifers per i canali.

    • Per un canale live, utilizzare live come l'ID del 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 live del tuo sito. Questa azione è utile se la 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 offerto contenuti temporanei per una vacanza o un evento speciale, ma ora vuoi tornare indietro per offrire i tuoi contenuti "normali".

Eseguendo il rollback, crei una nuova versione che offre la stessa versione del contenuto di una versione precedente. Nella tabella storia di uscita, entrambe le versioni elencherà lo stesso identificatore di versione.

Ecco come eseguire il rollback:

  1. Nella console Firebase , nella tabella Storia di uscita per il tuo sito, posiziona il mouse sopra la voce di versione precedente che si desidera eseguire il rollback a.

  2. Fare clic , quindi selezionare indietro Roll.

Eliminare manualmente una release

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

Quando elimini una pubblicazione, stai effettivamente eliminando il suo contenuto, che è programmato per l'eliminazione 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 Firebase , nella tabella Storia di uscita per il tuo sito, posiziona il mouse sopra la voce di versione precedente che si desidera eliminare.

  2. Fare clic , quindi selezionare Elimina.

Elimina manualmente un canale di anteprima

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

Quando elimini un canale di anteprima, l'eliminazione del canale e delle relative versioni e versioni associate viene pianificata entro 24 ore. Viene disattivato anche l'URL di anteprima associato. Un'eccezione alla versione-eliminazione è se una versione è associato ad un altro rilascio (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 per il canale anteprima, fare clic su , quindi selezionare il canale Elimina. Conferma la cancellazione.

  • Firebase CLI
    Esegui il seguente comando da qualsiasi directory:

    firebase hosting:channel:delete CHANNEL_ID

Comandi CLI per i canali di anteprima e la clonazione

Comandi per i canali di anteprima

Tutti i comandi per i canali di anteprima sostenere gli obiettivi di schieramento 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 specificato CHANNEL_ID

Questo comando non viene distribuito nel 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 al canale.

firebase hosting:channel:list Elenca tutti i canali (tra cui il canale "live") nel sito di hosting di default
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ù di recente sul canale "sorgente" specificato nel canale "destinazione" specificato

Questo comando esegue anche il deployment nel canale "target" specificato. Se il canale "target" non esiste ancora, questo comando crea un nuovo canale di anteprima nel sito Hosting "target" prima di distribuirlo sul 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 esegue anche il deployment nel canale "target" specificato. Se il canale "target" non esiste ancora, questo comando crea un nuovo canale di anteprima nel sito Hosting "target" prima di distribuirlo sul canale.

È possibile trovare il VERSION_ID nel cruscotto di hosting della console Firebase.