Gestisci live e Visualizzare l'anteprima di canali, uscite e versioni per il tuo sito

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

Panoramica dell'infrastruttura Hosting

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

Ogni progetto Firebase ha un Hosting sito predefinito con accesso a tutte le risorse del progetto (database, autenticazione, funzioni e così via). Un sito contiene uno o più canali, dove ogni canale è associato a un URL che pubblica contenuti specifici e a una configurazione Hosting.

un&#39;immagine di <span class=Gerarchia di Firebase Hosting" />

Ogni sito Hosting ha un canale "live" che pubblica contenuti e una configurazione Hosting in (1) i sottodomini di cui è stato eseguito il provisioning di Firebase del sito (SITE_ID.web.app e SITE_ID.firebaseapp.com) e (2) tutti i domini personalizzati collegati. Puoi anche creare facoltativamente canali "anteprima" che pubblicano i propri contenuti e la propria configurazione in URL "anteprima" temporanei e condivisibili (SITE_ID--CHANNEL_ID-RANDOM_HASH.web.app).

I contenuti e la configurazione pubblicati da ogni canale vengono raggruppati in un oggetto version con un identificatore univoco. Quando esegui il deployment sul tuo sito, Firebase crea un oggetto release che punta a una versione specifica. Una release contiene metadati sul deployment, ad esempio chi ha eseguito il deployment e quando.

Nella dashboard Hosting del tuo progetto Firebase, puoi visualizzare una cronologia completa delle uscite del tuo canale live in una tabella Cronologia delle uscite. Se hai più siti Hosting, fai clic su Visualizza per il sito che ti interessa per visualizzarne la cronologia delle release. Se hai canali di anteprima, vengono visualizzati anche nella dashboard Hosting.

Gestire le impostazioni di un canale

Per ogni canale del tuo sito, puoi controllare le impostazioni. Alcune impostazioni, come la scadenza del canale, sono applicabili solo ai canali di anteprima.

Limitare il numero di release da conservare

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

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

  • Perché limitare il numero di release da conservare?
    Questa funzionalità può aiutarti a controllare il livello di utilizzo dello spazio di archiviazione del progetto Hosting, poiché i contenuti delle versioni precedenti vengono conservati in questo spazio di archiviazione. Puoi monitorare lo spazio di archiviazione di Hosting dalla scheda Storage nella console.

  • Che cosa succede quando limiti le release da conservare?
    Quando imposti un limite per le release da conservare, i contenuti di tutte le release che superano il limite impostato vengono pianificati per l'eliminazione, a partire dalle release meno recenti.

Ecco come impostare il limite di spazio di archiviazione per le uscite di un canale:

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

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

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

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

Impostare 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, le relative release e le versioni associate vengono programmati per essere eliminati entro 24 ore. Anche l'URL di anteprima associato viene disattivato. Un'eccezione a questa eliminazione delle versioni si verifica se una versione è associata a un'altra release (ad esempio, se cloni una versione da un canale a un altro all'interno dello stesso sito).

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 del canale. Inserisci la data e l'ora di scadenza.

  • Firebase CLI
    Quando esegui il deployment nel 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 implementazione. Utilizza h per le ore, d per i giorni e w per le settimane (ad esempio, 12h, 7d, 2w, rispettivamente).

Clonare una versione da un canale a un altro

Puoi clonare una versione di cui è stato eseguito il deployment da un canale a un altro. Puoi clonare tra canali live o di anteprima, tra siti Hosting o persino tra progetti Firebase.

Il comando di clonazione viene anche implementato nel canale "target" in modo che i contenuti e la configurazione Hosting clonati vengano pubblicati automaticamente all'URL associato al canale"target".

Questa funzionalità è utile per il monitoraggio delle versioni o se vuoi avere la certezza di distribuire i contenuti esatti 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 (pubblicazione)

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

  • Clonare da un canale nel progetto Firebase "staging" a un canale di anteprima nel progetto Firebase "prod"

Per clonare una versione, esegui questo 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 Hosting che contengono i canali.

    • Per il sito Hosting predefinito, utilizza l'ID progetto Firebase.
    • Puoi specificare Hosting siti 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 live, utilizza live come ID canale.
    • Se il canale "target" specificato non esiste ancora, questo comando crea il canale prima di eseguire il deployment.

Eseguire il rollback a una versione precedente del sito

Puoi eseguire il rollback per pubblicare una versione precedente del canale live del tuo sito. Questa azione è utile se la release corrente presenta un problema e vuoi eseguire il rollback per pubblicare una versione funzionante nota del tuo sito. Oppure il tuo sito ha pubblicato contenuti temporanei per una festività o un evento speciale, ma ora vuoi ripristinare la pubblicazione dei contenuti "normali".

Con il rollback, crei una nuova release che pubblica la stessa versione di contenuti di una release precedente. Nella tabella Cronologia delle release, entrambe le release mostreranno lo stesso identificatore di versione.

Ecco come eseguire il rollback:

  1. Nella console Firebase, nella tabella Cronologia delle release del tuo sito, passa il mouse sopra la voce della release precedente a cui vuoi eseguire il rollback.

  2. Fai clic su , poi seleziona Rollback.

Eliminare manualmente una release

Potresti dover eliminare manualmente una release dal tuo canale live per liberare Hosting spazio di archiviazione per il tuo progetto. Puoi eliminare solo le release precedenti, non quella attualmente pubblicata sul tuo sito live.

Quando elimini una release, in realtà elimini i relativi contenuti, la cui eliminazione è programmata entro 24 ore. L'oggetto di rilascio stesso viene conservato in modo da poter comunque visualizzare i relativi metadati (chi ha eseguito il deployment e quando).

Ecco come eliminare un'uscita:

  1. Nella consoleFirebase, nella tabella Cronologia delle versioni del tuo sito, passa il mouse sopra la voce della versione precedente che vuoi eliminare.

  2. Fai clic su , quindi seleziona Elimina.

Eliminare manualmente i file

In Firebase Hosting, il modo principale per eliminare i file selezionati da un sito di cui è stato eseguito il deployment è eliminare i file localmente e poi eseguire nuovamente il deployment.

Eliminare manualmente un canale di anteprima

Per visualizzare l'anteprima dei canali, fai clic su quello che ti interessa. In questa visualizzazione puoi vedere, eliminare e ripristinare le implementazioni e le release più recenti associate 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, il canale, le relative release e le versioni associate vengono programmati per l'eliminazione entro 24 ore. Anche l'URL di anteprima associato viene disattivato. Un'eccezione all'eliminazione delle versioni si verifica se una versione è associata a un'altra release (ad esempio, se cloni una versione da un canale a un altro all'interno dello stesso sito).

Hosting supporta due modi diversi per eliminare un canale di anteprima:

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

  • 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 in anteprima

Tutti i comandi per i canali di anteprima supportano le destinazioni di deployment se hai più siti Hosting.

Comando Descrizione
firebase hosting:channel:create CHANNEL_ID

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

Questo comando non viene eseguito sul 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

Esegue il deployment dei contenuti e della configurazione di Hosting nel canale di anteprima specificato

Se il canale in anteprima non esiste ancora, questo comando lo crea nel sito predefinito Hosting prima di eseguirne il deployment sul canale.

firebase hosting:channel:list Elenca tutti i canali (incluso il canale "live") nel sito predefinito Hosting
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 delle versioni

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

Clona la versione di cui è stato eseguito il deployment più recente sul canale "origine" specificato nel canale "destinazione" specificato

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

Puoi trovare VERSION_ID nella dashboard Hosting della console Firebase.