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.
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:
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 .
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 di 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 ew
per settimane (ad esempio, rispettivamente12h
,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.
- Per un canale dal vivo, utilizza
Quando cloni una versione da un canale a un altro canale nello stesso sito di hosting , Firebase crea un nuovo oggetto di rilascio che punta esattamente alla stessa versione . Vedrai due versioni nel tuo sito di hosting che puntano entrambe alla stessa versione (identificata dall'ID versione).
Tuttavia, se cloni una versione su un canale in un sito di hosting diverso (o in un progetto Firebase diverso), Firebase crea sia una nuova versione che una nuova versione (identificata da un ID versione diverso).
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:
Nella console Firebase , nella tabella Cronologia versioni del tuo sito, passa il mouse sopra la voce di versione precedente a cui desideri ripristinare.
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:
Nella console Firebase , nella tabella Cronologia versioni del tuo sito, passa il mouse sopra la voce di versione precedente che desideri eliminare.
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 di 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 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 \ | 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 \ | 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 |