Firebase Hosting fornisce strumenti sia tramite la console Firebase sia tramite l'interfaccia a riga di comando Firebase per gestire i canali, le release e le versioni del tuo sito Hosting.
Panoramica dell'infrastruttura di Hosting
La conoscenza dell'infrastruttura 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 e così via). Un sito contiene uno o più canali, a ciascuno dei quali è associato un URL che pubblica contenuti specifici e una configurazione Hosting.
HostingGerarchia di Firebase Hosting" />
Ogni sito Hosting ha un canale "live" che pubblica contenuti e una configurazione Hosting in (1) i sottodomini di Firebase di cui è stato eseguito il provisioning per il 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 tramite "URL di anteprima" temporanei e condivisibili (SITE_ID--CHANNEL_ID-RANDOM_HASH.web.app
I contenuti e la configurazione pubblicati da ciascun canale vengono pacchettizzati in un oggetto version con un identificatore univoco. Quando esegui il deployment sul tuo sito, Firebase crea un oggetto release che rimanda a una versione specifica. Una release contiene metadati sul deployment, ad esempio chi lo ha eseguito e quando.
Nella Hostingdashboard del tuo progetto Firebase, puoi visualizzare una cronologia completa delle uscite del tuo canale in diretta in una tabella Cronologia delle uscite. Se hai più siti Hosting, fai clic su Visualizza accanto al sito che ti interessa per visualizzarne la cronologia delle release. Se hai dei canali di anteprima, vengono visualizzati anche nella dashboard Hosting.
Gestire le impostazioni di un canale
Per ogni canale del tuo sito, puoi controllare le relative impostazioni. Alcune impostazioni, come la scadenza del canale, sono applicabili solo ai canali di anteprima.
Limita il numero di release da conservare
Ogni volta che esegui il deployment in un canale (e crei una release), Hosting conserva la versione associata alla release precedente nello spazio di archiviazione Hosting del progetto. Puoi impostare il numero di release da conservare per ogni canale nel tuo progetto, sia i canali pubblicati che quelli di anteprima.
Perché Hosting conserva le release precedenti?
Per il tuo canale live, mantenere le release precedenti ti consente di eseguire il roll back 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 Hosting del progetto, poiché i contenuti delle release precedenti vengono conservati in questo spazio di archiviazione. Puoi monitorare lo spazio di archiviazione Hosting dalla scheda Spazio di archiviazione nella console.Che cosa succede quando limiti le release da conservare?
Quando imposti un limite di release da conservare, i contenuti di eventuali release oltre il limite impostato sono pianificati per l'eliminazione, a partire dalle release meno recenti.
Ecco come impostare il limite di spazio di archiviazione per le release di un canale:
Nella console Firebase, accedi alla finestra di dialogo di impostazione dello spazio di archiviazione per le release:
Per il tuo canale pubblicato
Nella tabella Cronologia delle release del tuo sito, fai clic su , quindi seleziona Impostazioni di archiviazione delle release.Per qualsiasi canale di anteprima
Nella riga relativa al canale di anteprima, fai clic su e poi seleziona Impostazioni canale.
Inserisci il numero di release 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 attivo del tuo sito non scade 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 cancellazione della versione è se una versione è associata a un'altra release (questo accade, ad esempio, se cloni una versione da un canale a un altro all'interno dello stesso sito).
Hosting supporta due diversi modi per controllare la scadenza di un canale:
Console Firebase
Nella riga relativa al canale di anteprima, fai clic su e poi seleziona Impostazioni canale. Inserisci la data e l'ora di scadenza.Firebase Interfaccia a riga di comando
Quando esegui il deployment nel canale di anteprima, passa il--expires DURATION
flag, 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 ew
per le settimane (ad esempio12h
,7d
,2w
, rispettivamente).
Clonare una versione da un canale all'altro
Puoi clonare una versione di cui è stato eseguito il deployment da un canale a un altro. Puoi eseguire il cloning tra canali dal vivo o di anteprima, tra siti Hosting o persino tra progetti Firebase.
Il comando di clonazione esegue anche il deployment nel canale "target" in modo che i contenuti e la configurazione Hosting clonati vengano pubblicati automaticamente nell'URL associato al canale"target".
Questa funzionalità è utile per il monitoraggio delle versioni o se vuoi avere la certezza di implementare 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 in corso)
Clona il canale pubblicato del tuo sito in un canale di anteprima "di debug" (ad esempio prima di un rollback)
Clona da un canale nel progetto Firebase "preparatorio" a un canale di anteprima nel progetto Firebase "produzione"
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: si tratta degli ID dei sitiHosting che contengono i canali.
- Per il sito Hosting predefinito, utilizza l'ID progetto Firebase.
- Puoi specificare Hosting siti nello stesso progetto Firebase o anche in progetti Firebase diversi.
SOURCE_CHANNEL_ID e TARGET_CHANNEL_ID: si tratta degli identificativi dei canali.
- Per un canale in diretta, utilizza
live
come ID canale. - Se il canale "target" specificato non esiste ancora, questo comando lo crea prima di eseguire il deployment.
- Per un canale in diretta, utilizza
Eseguire il rollback a una versione precedente del sito
Puoi eseguire il rollback per pubblicare una versione precedente del canale in diretta 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 potrebbe aver pubblicato contenuti temporanei per una festività o un evento speciale, ma ora vuoi ripristinare i contenuti "normali".
Con il rollback, crei una nuova release che pubblica la stessa versione dei contenuti di una release precedente. Nella tabella Cronologia release, entrambe le release elencano lo stesso identificatore di versione.
Ecco come eseguire il rollback:
Nella tabella Cronologia delle release del tuo sito, nella console Firebase, passa il mouse sopra la voce della release precedente a cui vuoi eseguire il rollback.
Fai clic su
, quindi seleziona Ripristino.
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.
Quando elimini una release, elimini in realtà i relativi contenuti, che verranno eliminati entro 24 ore. L'oggetto release stesso viene conservato in modo da poterne ancora visualizzare i metadati (chi ha eseguito il deployment e quando).
Ecco come eliminare una release:
Nella console Firebase, nella tabella Cronologia release per il tuo sito, passa il mouse sopra la voce della release precedente che vuoi eliminare.
Fai clic su
e 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 è eliminarli localmente e poi eseguire nuovamente il deployment.
Eliminare manualmente un canale di anteprima
Puoi visualizzare l'anteprima dei tuoi canali facendo clic sul canale che ti interessa. In questa visualizzazione puoi visualizzare, eliminare e ripristinare le release e i deployment più recenti associati al canale specifico. Puoi eliminare un canale di anteprima, ma non puoi eliminare il canale pubblicato del tuo sito.
Quando elimini un canale di anteprima, l'eliminazione del canale, delle relative release 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 release (ad esempio, se cloni una versione da un canale a un altro all'interno dello stesso sito).
Hosting supporta due diversi modi per eliminare un canale 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 di anteprima
Tutti i comandi per i canali di anteprima supportano i target di deployment se hai più siti Hosting.
Comando | Descrizione |
---|---|
firebase hosting:channel:create CHANNEL_ID
|
Crea un nuovo canale di anteprima nel sito Hosting
predefinito utilizzando il valore specificato
Questo comando non viene eseguito nel canale. |
firebase hosting:channel:delete CHANNEL_ID
|
Elimina il canale di anteprima specificato Non puoi eliminare il canale dal vivo di un sito. |
firebase hosting:channel:deploy CHANNEL_ID
|
Esegue il deployment dei contenuti e della configurazione Hosting nel canale di anteprima specificato Se il canale di anteprima non esiste ancora, questo comando lo crea nel sito Hosting predefinito prima di eseguire il deployment sul canale. |
firebase hosting:channel:list
|
Elenca tutti i canali (incluso il canale "live") nel sito Hosting predefinito |
firebase hosting:channel:open CHANNEL_ID
|
Apre un browser con l'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 \
|
Clona la versione di cui è stato eseguito il deployment più di recente sul canale "di origine" specificato nel canale "di 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 eseguire il deployment nel canale. |
firebase hosting:clone \
|
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 eseguire il deployment nel canale. Puoi trovare |