Gérer les chaînes, versions et versions d'aperçu en direct pour 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 Hosting.

Présentation de l'infrastructure Hosting

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

Chaque projet Firebase dispose d'un site Hosting par défaut avec accès à toutes les ressources du projet (bases de données, authentification, fonctions, etc.). Un site contient un ou plusieurs critères, chacun étant associé à une URL qui affiche un contenu spécifique et à une configuration Hosting.

une image de <span class=Hiérarchie Firebase Hosting" />

Chaque site Hosting dispose d'un canal "en direct" qui diffuse du contenu et d'une configuration Hosting sur (1) les sous-domaines Firebase provisionnés du site (SITE_ID.web.app et SITE_ID.firebaseapp.com) et (2) les domaines personnalisés connectés. Vous pouvez également créer des canaux d'aperçu qui diffusent leur propre contenu et leur propre configuration sous la forme d'URL d'aperçu temporaires et partageables (SITE_ID--CHANNEL_ID-RANDOM_HASH.web.app).

Le contenu et la configuration diffusés par chaque chaîne sont empaquetés dans un objet version doté d'un identifiant unique. Lorsque vous déployez votre site, Firebase crée un objet version qui pointe vers une version spécifique. Une version contient des métadonnées sur le déploiement, comme l'auteur et la date du déploiement.

Dans le tableau de bord Hosting de votre projet Firebase, vous pouvez consulter l'historique complet des versions de votre chaîne en direct dans un tableau Historique des versions. Si vous avez plusieurs sites Hosting, cliquez sur Afficher pour le site de votre choix afin de consulter son historique des versions. Si vous avez des chaînes en version Preview, elles s'affichent également dans le tableau de bord Hosting.

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 Preview.

Limiter le nombre de versions à conserver

Chaque fois que vous déployez sur une chaîne (et créez une version), Hosting conserve la version associée à la version précédente dans l'espace de stockage Hosting de votre projet. Vous pouvez définir le nombre de versions à conserver pour chaque chaîne de votre projet, y compris les chaînes en direct et les chaînes Preview.

  • 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 faire un rollback vers une version précédente de votre site, si nécessaire. Pour vos chaînes en version preview, la possibilité de revenir en arrière n'est pas encore disponible.

  • Pourquoi limiter le nombre de versions à conserver ?
    Cette fonctionnalité peut vous aider à contrôler le niveau d'utilisation de l'espace de stockage Hosting de votre projet, car le contenu des versions précédentes est conservé dans cet espace de stockage. Vous pouvez surveiller l'espace de stockage Hosting dans l'onglet Storage (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 des versions dépassant cette limite est programmé pour être supprimé, en commençant par les versions les plus anciennes.

Pour définir la limite de stockage des versions disponibles pour un canal :

  1. Dans la console Firebase, accédez à la boîte de dialogue de paramétrage du stockage de publication :

    • 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 un canal d'aperçu
      Sur la ligne du canal 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'une chaîne en version Preview

Par défaut, un canal de prévisualisation expire sept jours après sa date de création, mais la version en direct de votre site n'expire jamais.

Lorsqu'un canal Preview expire, sa suppression, ainsi que celle de ses versions et révisions associées, est planifiée pour s'exécuter dans un délai de 24 heures. L'URL d'aperçu associée est également désactivée. Il existe une exception à cette règle si une version est associée à une autre (ceci se produit, par exemple, si vous clonez une version d'un canal à un autre au sein du même site).

Hosting propose deux méthodes différentes pour 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. Saisissez la date et l'heure d'expiration.

  • CLI Firebase
    Lorsque vous déployez sur votre canal Preview, transmettez l'option --expires DURATION, par exemple :

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

    Le délai d'expiration peut atteindre 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 et 2w, respectivement).

Cloner une version d'une chaîne à une autre

Vous pouvez cloner une version déployée d'un canal vers un autre. Vous pouvez cloner des versions en direct ou en preview, sur des sites Hosting ou même dans plusieurs projets Firebase.

La commande de clonage déploie également sur le canal "cible" afin que le contenu et la configuration Hosting 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 vous assurer de déployer le contenu exact que vous avez consulté et/ou testé sur un autre canal. Voici quelques exemples :

  • Cloner à partir d'un canal d'aperçu "QA" vers le canal en direct de votre site (mise en ligne)

  • Cloner à partir du canal en direct de votre site vers un canal de prévisualisation de débogage (comme avant un rollback)

  • Cloner à partir d'un canal de votre projet Firebase de préproduction vers un canal de prévisualisation de votre projet Firebase de production

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 : il s'agit des ID des sites Hosting contenant les chaînes.

    • Pour votre site Hosting par défaut, utilisez l'ID de votre projet Firebase.
    • Vous pouvez spécifier des sites Hosting qui se trouvent dans le même projet Firebase ou même dans différents projets Firebase.
  • SOURCE_CHANNEL_ID et TARGET_CHANNEL_ID : il s'agit des 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 le crée avant de le déployer.

Restaurer une version précédente de votre site

Vous pouvez revenir à 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 à une version fonctionnelle connue de votre site. Ou peut-être que votre site a diffusé du contenu temporaire pour un jour férié ou un événement spécial, mais que vous souhaitez maintenant revenir à votre contenu "standard".

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

Voici comment effectuer un rollback:

  1. Dans la console Firebase, dans le tableau Historique des versions de votre site, pointez sur l'entrée de 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 canal en ligne afin de libérer Hosting d'espace de stockage pour votre projet. Vous ne pouvez supprimer que les versions précédentes, et non la version actuellement diffusée sur votre site en ligne.

Lorsque vous supprimez une version, vous supprimez en réalité son contenu, qui est programmé pour être supprimé sous 24 heures. L'objet de version lui-même est conservé afin que vous puissiez toujours consulter ses métadonnées (qui a déployé et quand).

Pour supprimer une version :

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

  2. Cliquez sur , puis sélectionnez Supprimer.

Supprimer manuellement des fichiers

Dans Firebase Hosting, le principal moyen de supprimer des fichiers sélectionnés d'un site déployé consiste à les supprimer localement, puis à les redéployer.

Supprimer manuellement un canal d'aperçu

Vous pouvez prévisualiser vos chaînes en cliquant sur celle de votre choix. À partir de cette vue, vous pouvez afficher, supprimer et annuler les déploiements et la version les plus récents associés au canal spécifique. Vous pouvez supprimer un canal d'aperçu, mais pas le canal en ligne de votre site.

Lorsque vous supprimez un canal Preview, la suppression du canal, ainsi que de toutes les versions et révisions associées, est planifiée pour s'exécuter dans un délai de 24 heures. L'URL d'aperçu associée est également désactivée. Il existe une exception à la suppression de versions si une version est associée à une autre (ceci se produit, par exemple, si vous clonez une version d'un canal à un autre au sein du même site).

Hosting propose deux méthodes différentes pour supprimer un canal Preview :

  • Console Firebase
    Sur la ligne du canal de prévisualisation, cliquez sur , puis sélectionnez Supprimer le canal. Confirmez la suppression.

  • Firebase CLI
    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 pour les canaux Preview sont compatibles avec les cibles de déploiement si vous disposez de plusieurs sites Hosting.

Commande Description
firebase hosting:channel:create CHANNEL_ID

Crée une chaîne d'aperçu sur le site Hosting par défaut à l'aide de l'CHANNEL_ID spécifié.

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

firebase hosting:channel:delete CHANNEL_ID

Supprime le canal d'aperçu 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 Hosting sur le canal d'aperçu spécifié.

Si le canal de prévisualisation n'existe pas encore, cette commande le crée sur le site Hosting par défaut avant de le déployer sur le canal.

firebase hosting:channel:list Liste toutes les chaînes (y compris la chaîne "en direct") sur le site Hosting par défaut
firebase hosting:channel:open CHANNEL_ID Ouvre un navigateur vers l'URL du canal spécifié 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écente déployée sur le canal "source" spécifié sur le canal "cible" spécifié.

Cette commande est également déployée sur le canal "target" spécifié. Si la chaîne "target" n'existe pas encore, cette commande crée une chaîne d'aperçu sur le site Hosting "target" avant de la déployer sur la chaîne.

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 est également déployée sur le canal "target" spécifié. Si le canal "cible" n'existe pas encore, cette commande crée un canal d'aperçu sur le site Hosting "cible" avant le déploiement sur le canal.

Vous trouverez VERSION_ID dans le tableau de bord Hosting de la console Firebase.