Gérer le live & prévisualisez les chaînes, les versions et les versions de votre site

Firebase Hosting fournit des outils via la console Firebase et la CLI Firebase pour gérer les canaux, les versions et les versions de votre site d'hébergement.

Aperçu de l'infrastructure d'hébergement

Comprendre l'infrastructure d'hébergement vous aide à comprendre les options de gestion décrites sur cette page.

Chaque projet Firebase dispose d'un site d'hébergement par défaut avec accès à toutes les ressources du projet (bases de données, authentification, fonctions, etc.). Un site contient un ou plusieurs canaux , où chaque canal est associé à une URL qui diffuse un contenu spécifique et une configuration d'hébergement.

une image de la hiérarchie d'hébergement Firebase

Chaque site d'hébergement dispose d'un canal « en direct » qui diffuse du contenu et une configuration d'hébergement dans (1) les sous-domaines fournis par Firebase du site ( SITE_ID .web.app et SITE_ID .firebaseapp.com ) et (2) tous les domaines personnalisés connectés. Vous pouvez également éventuellement créer des chaînes « d'aperçu » qui diffusent leur propre contenu et leur propre configuration sur des « URL d'aperçu » temporaires et partageables ( SITE_ID -- CHANNEL_ID - RANDOM_HASH .web.app ).

Le contenu et la configuration servis par chaque canal sont regroupés dans un objet de version doté d'un identifiant unique. Lorsque vous déployez sur votre site, Firebase crée un objet de version qui pointe vers une version spécifique. Une version contient des métadonnées sur le déploiement, comme qui a déployé et quand il a déployé.

À partir du tableau de bord d'hébergement de votre projet Firebase, vous pouvez voir un historique complet des versions de votre chaîne en direct dans un tableau Historique des versions . Si vous disposez de plusieurs sites d'hébergement , cliquez sur Afficher pour le site souhaité pour voir son historique de versions. Si vous disposez de chaînes en aperçu, elles sont également affichées sur le tableau de bord d'hébergement.

Gérer les paramètres d'une chaîne

Pour chaque chaîne de votre site, vous pouvez contrôler ses paramètres. Certains paramètres, comme l'expiration des chaînes, ne s'appliquent qu'aux chaînes en aperçu.

Limiter le nombre de versions à conserver

Chaque fois que vous déployez sur un canal (et créez une version), Hosting conserve la version associée à la version précédente dans le stockage d'hébergement de votre projet. Vous pouvez définir le nombre de versions à conserver pour chaque chaîne de votre projet, qu'il s'agisse des chaînes en direct ou en avant-première.

  • Pourquoi Hosting conserve-t-il les versions précédentes ?
    Pour votre chaîne en direct, conserver les versions précédentes vous permet de revenir à une version précédente de votre site, si nécessaire. Pour vos chaînes en aperçu, la restauration n'est pas encore disponible.

  • Pourquoi limiter le nombre de versions à conserver ?
    Cette fonctionnalité peut vous aider à contrôler le niveau d'utilisation du stockage d'hébergement de votre projet , car le contenu des versions précédentes est conservé dans ce stockage. Vous pouvez surveiller votre stockage d'hébergement à partir de l' onglet Stockage de la console.

  • Que se passe-t-il lorsque vous limitez les versions à conserver ?
    Lorsque vous définissez une limite de versions à conserver, le contenu de toutes les versions dépassant votre limite définie est planifié pour la suppression, en commençant par les versions les plus anciennes .

Voici comment définir la limite de stockage des versions pour une chaîne :

  1. Dans la console Firebase , accédez à la boîte de dialogue des paramètres de stockage de version :

    • Pour votre chaîne en direct
      Dans le tableau Historique des versions de votre site, cliquez sur , puis sélectionnez Paramètres de stockage des versions .

    • Pour n’importe quelle chaîne de prévisualisation
      Dans la ligne de la chaîne d'aperçu, cliquez sur , puis sélectionnez Paramètres de la chaîne .

  2. Saisissez le nombre de versions que vous souhaitez conserver, puis cliquez sur Enregistrer .

Définir l'expiration d'un canal de prévisualisation

Par défaut, une chaîne en aperçu expire 7 jours après sa date de création, mais la chaîne en direct de votre site n'expirera jamais.

Lorsqu'une version préliminaire expire, la suppression de la chaîne, ainsi que de ses versions et versions associées, est planifiée dans les 24 heures. L'URL d'aperçu associée est également désactivée. Une exception à cette suppression de version est si une version est associée à une autre version (cela se produit, par exemple, si vous clonez une version d'un canal à un autre au sein du même site ).

L'hébergement prend en charge deux manières différentes de contrôler l'expiration d'un canal :

  • Console Firebase
    Dans la ligne de la chaîne d'aperçu, cliquez sur , puis sélectionnez Paramètres de la chaîne . Entrez la date et l'heure d'expiration.

  • CLI Firebase
    Lorsque vous déployez sur votre canal de préversion, transmettez l'indicateur --expires DURATION , par exemple :

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

    L'expiration peut aller jusqu'à 30 jours à compter de la date de déploiement. Utilisez h pour les heures, d pour les jours et w pour les semaines (par exemple, 12h , 7d , 2w , respectivement).

Cloner une version d'un canal à un autre

Vous pouvez cloner une version déployée d'un canal vers un autre canal. Vous pouvez cloner sur des chaînes en direct ou en aperçu, sur des sites d'hébergement ou même sur des projets Firebase.

La commande clone se déploie également sur le canal « cible » afin que le contenu et la configuration d'hébergement clonés soient automatiquement diffusés sur l'URL associée au canal « cible ».

Cette fonctionnalité est utile pour le suivi des versions ou si vous voulez être sûr que vous déployez exactement le contenu que vous avez consulté et/ou testé sur une autre chaîne. Voici quelques exemples:

  • Clonez d'un canal de prévisualisation « QA » vers le canal en direct de votre site (en direct !)

  • Clonez depuis le canal live de votre site vers un canal de prévisualisation "debug" (comme avant un rollback)

  • Cloner d'un canal de votre projet Firebase « staging » vers un canal d'aperçu de votre projet Firebase « prod »

Pour cloner une version, exécutez la commande suivante depuis n'importe quel répertoire :

firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID

Remplacez chaque espace réservé par ce qui suit :

  • SOURCE_SITE_ID et TARGET_SITE_ID : Ce sont les identifiants des sites d'hébergement qui contiennent les chaînes.

    • Pour votre site d'hébergement par défaut, utilisez votre ID de projet Firebase.
    • Vous pouvez spécifier des sites d'hébergement qui se trouvent dans le même projet Firebase ou même dans différents projets Firebase.
  • SOURCE_CHANNEL_ID et TARGET_CHANNEL_ID : Ce sont les identifiants des chaînes.

    • Pour une chaîne en direct, utilisez live comme ID de chaîne.
    • Si le canal « cible » spécifié n’existe pas encore, cette commande crée le canal avant de le déployer.

Revenir à une version précédente de votre site

Vous pouvez revenir en arrière pour diffuser une version précédente de la chaîne en direct de votre site. Cette action est utile si votre version actuelle présente un problème et que vous souhaitez revenir en arrière pour proposer une version de travail connue de votre site. Ou peut-être que votre site a diffusé du contenu temporaire pour des vacances ou un événement spécial, mais que vous souhaitez maintenant revenir en arrière pour diffuser votre contenu « normal ».

En effectuant une restauration, vous créez une nouvelle version qui diffuse la même version de contenu qu'une version précédente. Dans votre tableau Historique des versions , les deux versions répertorieront le même identifiant de version.

Voici comment revenir en arrière :

  1. Dans la console Firebase , dans le tableau Historique des versions de votre site, survolez l'entrée de la version précédente à laquelle vous souhaitez revenir.

  2. Cliquez sur , puis sélectionnez Restaurer .

Supprimer manuellement une version

Vous devrez peut-être supprimer manuellement une version de votre chaîne en direct pour libérer de l'espace de stockage d'hébergement pour votre projet. Vous ne pouvez supprimer que les versions précédentes, pas la version actuellement diffusée sur votre site en ligne.

Lorsque vous supprimez une version, vous supprimez en réalité son contenu, dont la suppression est prévue dans les 24 heures. L'objet de version lui-même est conservé afin que vous puissiez toujours voir ses métadonnées (qui a déployé et quand).

Voici comment supprimer une version :

  1. Dans la console Firebase , dans le tableau Historique des versions de votre site, passez la souris sur l'entrée de version précédente que vous souhaitez supprimer.

  2. Cliquez sur , puis sélectionnez Supprimer .

Supprimer manuellement une chaîne d'aperçu

Vous pouvez prévisualiser vos chaînes en cliquant sur la chaîne que vous souhaitez prévisualiser. À partir de cette vue, vous pouvez voir, supprimer et annuler les déploiements et versions les plus récents liés au canal spécifique. Vous pouvez supprimer une chaîne d'aperçu, mais vous ne pouvez pas supprimer la chaîne en direct de votre site.

Lorsque vous supprimez une chaîne en aperçu, la suppression de la chaîne, ainsi que de ses versions et versions associées, est planifiée dans les 24 heures. L'URL d'aperçu associée est également désactivée. Une exception à la suppression de version est si une version est associée à une autre version (cela se produit, par exemple, si vous clonez une version d'un canal à un autre au sein du même site ).

L'hébergement prend en charge deux manières différentes de supprimer une chaîne d'aperçu :

  • Console Firebase
    Dans la ligne de la chaîne d'aperçu, cliquez sur , puis sélectionnez Supprimer la chaîne . Confirmez la suppression.

  • CLI Firebase
    Exécutez la commande suivante depuis n'importe quel répertoire :

    firebase hosting:channel:delete CHANNEL_ID

Commandes CLI pour les canaux de prévisualisation et le clonage

Commandes pour les canaux de prévisualisation

Toutes les commandes des canaux d'aperçu prennent en charge les cibles de déploiement si vous disposez de plusieurs sites d'hébergement .

Commande Description
firebase hosting:channel:create CHANNEL_ID

Crée un nouveau canal d'aperçu dans le site d'hébergement par défaut en utilisant le CHANNEL_ID spécifié

Cette commande ne se déploie pas sur le canal.

firebase hosting:channel:delete CHANNEL_ID

Supprime le canal de prévisualisation spécifié

Vous ne pouvez pas supprimer la chaîne en direct d'un site.

firebase hosting:channel:deploy CHANNEL_ID

Déploie votre contenu d'hébergement et votre configuration sur le canal de prévisualisation spécifié

Si le canal d'aperçu n'existe pas encore, cette commande crée le canal dans le site d'hébergement par défaut avant de le déployer sur le canal.

firebase hosting:channel:list Répertorie toutes les chaînes (y compris la chaîne « en direct ») dans le site d'hébergement par défaut
firebase hosting:channel:open CHANNEL_ID Ouvre un navigateur vers l'URL de la chaîne spécifiée ou renvoie l'URL si l'ouverture dans un navigateur n'est pas possible

Commandes pour le clonage de versions

Commande Description
firebase hosting:clone \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Clone la version la plus récemment déployée sur le canal « source » spécifié vers le canal « cible » spécifié

Cette commande se déploie également sur le canal « cible » spécifié. Si le canal « cible » n'existe pas encore, cette commande crée un nouveau canal d'aperçu dans le site d'hébergement « cible » avant de le déployer sur le canal.

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

Clone la version spécifiée sur le canal « cible » spécifié

Cette commande se déploie également sur le canal « cible » spécifié. Si le canal « cible » n'existe pas encore, cette commande crée un nouveau canal d'aperçu dans le site d'hébergement « cible » avant de le déployer sur le canal.

Vous pouvez trouver le VERSION_ID dans le tableau de bord d'hébergement de la console Firebase.