Catch up on highlights from Firebase at Google I/O 2023. Learn more

Gérez les chaînes, les versions et les versions en direct et en avant-première 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.

Présentation 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 possède 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 sert un contenu spécifique et une configuration d'hébergement.

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

Chaque site d'hébergement dispose d'un canal "en direct" qui diffuse du contenu et une configuration d'hébergement sur (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 été 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 d'historique des versions . Si vous avez plusieurs sites d'hébergement , cliquez sur Afficher pour le site souhaité pour voir son historique de publication. Si vous avez des canaux de prévisualisation, ils sont également affichés sur le tableau de bord d'hébergement.

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

Pour chaque canal de votre site, vous pouvez contrôler ses paramètres. Certains paramètres, comme l'expiration de la chaîne, ne s'appliquent qu'aux chaînes de prévisualisation.

Limitez le nombre de releases à conserver

Chaque fois que vous déployez sur un canal (et créez une version), l'hébergement 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, à la fois les chaînes en direct et les chaînes de prévisualisation.

  • Pourquoi l'hébergement 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 de prévisualisation, la restauration n'est pas encore disponible.

  • Pourquoi limiter le nombre de releases à 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 pour les versions à conserver, le contenu de toutes les versions dépassant la limite définie est planifié pour être supprimé, 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 des versions :

    • 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 quel canal de prévisualisation
      Dans la ligne du canal d'aperçu, cliquez sur , puis sélectionnez Paramètres du canal .

  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 de prévisualisation expire 7 jours après sa date de création, mais la chaîne en direct de votre site n'expirera jamais.

Lorsqu'une chaîne d'aperçu expire, la chaîne, ainsi que ses versions et les versions associées, sont programmées pour être supprimées 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 du canal d'aperçu, cliquez sur , puis sélectionnez Paramètres du canal . Entrez la date et l'heure d'expiration.

  • CLI Firebase
    Lorsque vous déployez sur votre canal de prévisualisation, 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 canaux 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 de l'hébergement cloné soient automatiquement servis à l'URL associée du canal "cible".

Cette fonctionnalité est utile pour le suivi des versions ou si vous voulez avoir la certitude que vous déployez le contenu exact que vous avez consulté et/ou testé sur un autre canal. Voici quelques exemples:

  • Cloner d'un canal de prévisualisation "QA" vers le canal en direct de votre site (en direct !)

  • Cloner du 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 de prévisualisation dans votre projet Firebase « prod »

Pour cloner une version, exécutez la commande suivante à partir de 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 canaux.

    • 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 du canal 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 servir 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 annulant, 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épertorient 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, passez la souris sur l'entrée de version précédente à laquelle vous souhaitez revenir.

  2. Cliquez sur , puis sélectionnez Roll back .

Supprimer manuellement une release

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 fait son contenu, dont la suppression est prévue dans les 24 heures. L'objet release lui-même est conservé afin que vous puissiez toujours voir ses métadonnées (qui a été déployé et quand il l'a déployé).

Pour supprimer une release, procédez comme suit :

  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 de prévisualisation

Vous pouvez supprimer une chaîne de prévisualisation, mais vous ne pouvez pas supprimer la chaîne en direct de votre site.

Lorsque vous supprimez une chaîne d'aperçu, la chaîne, ainsi que ses versions et versions associées, sont programmées pour être supprimées 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 de prévisualisation :

  • Console Firebase
    Dans la ligne du canal d'aperçu, cliquez sur , puis sélectionnez Supprimer le canal . Confirmez la suppression.

  • CLI Firebase
    Exécutez la commande suivante à partir de 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 de prévisualisation prennent en charge les cibles de déploiement si vous avez plusieurs sites d'hébergement .

Commande Description
firebase hosting:channel:create CHANNEL_ID

Crée un nouveau canal de prévisualisation 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 et votre configuration d'hébergement sur le canal de prévisualisation spécifié

Si le canal de prévisualisation 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 version

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 de prévisualisation dans le site d'hébergement "cible" avant de se 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 de prévisualisation dans le site d'hébergement "cible" avant de se déployer sur le canal.

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