Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Gérez les canaux, 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 a un défaut site d' hébergement avec accès à toutes les ressources (bases de données, authentification, fonctions, etc.) de projet. Un site contient un ou plusieurs canaux, où chaque canal est associé à une adresse URL qui sert un contenu spécifique et une configuration d' hébergement.

une image de la hiérarchie Firebase Hosting

Chaque site d' accueil est un canal « en direct » qui sert le contenu et une configuration d' hébergement à (1) provisionnées sous - domaines Firebase (du site de SITE_ID .web.app et SITE_ID .firebaseapp.com ) et (2) tous connectés domaines personnalisés . Vous pouvez également créer des canaux en option « prévisualisation » qui servent leur propre contenu et la configuration à « URL d'aperçu » temporaires, partageables ( SITE_ID -- CHANNEL_ID - RANDOM_HASH .web.app ).

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

A partir de votre projet de Firebase tableau de bord d' hébergement , vous pouvez voir une histoire complète des communiqués de votre chaîne en direct dans une table d'historique de sortie. Si vous avez plusieurs sites d'hébergement , cliquez sur Afficher pour le site désiré voir son histoire de libération. Si vous avez des canaux de prévisualisation, ils sont également affichés sur le tableau de bord 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 des chaînes, ne s'appliquent qu'aux chaînes d'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 Hosting de votre projet. Vous pouvez définir le nombre de versions à conserver pour chaque canal dans votre projet, les deux chaînes en direct et aperçu.

  • Pourquoi Hosting conserve les versions précédentes ?
    Pour votre chaîne en direct, en gardant 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 fonction peut vous aider à contrôler le niveau d'utilisation de votre de stockage d' hébergement de projet , comme le contenu des versions précédentes est conservée dans ce stockage. Vous pouvez surveiller votre stockage d' hébergement de l' onglet de stockage dans la console.

  • Que se passe-t-il lorsque vous limitez les versions à conserver ?
    Lorsque vous définissez une limite pour les rejets de garder le contenu des communiqués sur votre limite ensemble est prévue pour la suppression, en commençant par les plus anciennes versions premières.

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

  1. Dans la console Firebase , accédez à la boîte de dialogue de configuration de stockage de sortie:

    • Pour votre chaîne en direct
      Dans le tableau Historique de sortie pour votre site, cliquez sur , puis sélectionnez Paramètres de stockage mise à jour .

    • Pour n'importe quel canal de prévisualisation
      Dans la ligne du canal d'aperçu, cliquez , puis sélectionnez Paramètres canal.

  2. Entrez 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'un canal d'aperçu expire, le canal, ainsi que ses versions et versions associées, sont programmés pour être supprimés dans les 24 heures. L'URL de prévisualisation associée est également désactivée. Une exception à cette version suppression est si une version est associée à une autre version (cela se produit, par exemple, si vous cloner une version d'un canal à un autre dans le 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 , puis sélectionnez Paramètres canal. Entrez la date et l'heure d'expiration.

  • Interface de ligne de commande Firebase
    Lorsque vous déployez à votre chaîne de prévisualisation, passer le --expires DURATION drapeau, 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. Utilisation h pour heure, d pendant quelques jours, et w pendant plusieurs semaines (par exemple 12h , 7d , 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 canal. Vous pouvez cloner sur des canaux en direct ou de prévisualisation, sur des sites d'hébergement ou même sur des projets Firebase.

La commande clone déploie également sur le canal « cible » de sorte que le clone d' hébergement de contenu et configuration sont automatiquement servis à l' adresse associée du canal « cible ».

Cette fonctionnalité est utile pour le suivi de version ou si vous voulez confiance que vous déployez le contenu exact que vous avez consultés et / ou testé sur un autre canal. Voici quelques exemples:

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

  • Cloner depuis le canal en direct de votre site vers un canal de prévisualisation "debug" (comme avant un rollback)

  • Cloner à partir d'un canal de votre projet Firebase "de pré-production" vers un canal d'aperçu 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 ID des sites d' hébergement qui contiennent les canaux.

    • 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 canaux pour les identifiants.

    • Pour un canal direct, utiliser en live comme l'ID de canal.
    • 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 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 vous souhaitez maintenant revenir en arrière pour diffuser votre contenu « régulier ».

En rétrogradant, vous créez une nouvelle version qui sert la même version de contenu qu'une version précédente. Dans votre table d'historique de sortie, les deux versions listera le même identifiant de version.

Voici comment revenir en arrière :

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

  2. Cliquez sur , puis sélectionnez Faire reculer.

Supprimer manuellement une version

Vous devrez peut - être supprimer manuellement une version de votre chaîne en direct pour libérer le 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 release, vous supprimez en fait son contenu, dont la suppression est programmée dans les 24 heures. L'objet de version lui-même est conservé afin que vous puissiez toujours voir ses métadonnées (qui s'est déployé et quand ils se sont déployés).

Voici comment supprimer une version :

  1. Dans la console Firebase , dans le tableau Historique de sortie pour votre site, survolez l'entrée de la 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 de prévisualisation, la chaîne, ainsi que ses versions et versions associées, sont programmées pour suppression dans les 24 heures. L'URL de prévisualisation associée est également désactivée. Une exception à la version suppression est si une version est associée à une autre version (cela se produit, par exemple, si vous cloner une version d'un canal à un autre dans le 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 , puis sélectionnez Supprimer canal. Confirmez la suppression.

  • Interface de ligne de commande 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 pour les canaux d'aperçu soutenir les objectifs de Déployez si vous avez plusieurs sites d'hébergement .

Commander La description
firebase hosting:channel:create CHANNEL_ID

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

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 le contenu et la configuration de votre 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 par défaut d' hébergement avant de déployer sur le canal.

firebase hosting:channel:list Liste tous les canaux (y compris le canal « en direct ») dans le site par défaut d' hébergement
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 version

Commander La 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.