Avant de déployer sur votre site en ligne, vous souhaiterez afficher et tester vos modifications. Firebase Hosting vous permet d'afficher et de tester les modifications localement et d'interagir avec les ressources du projet backend émulé. Si vous avez besoin que vos coéquipiers visualisent et testent vos modifications, l'hébergement peut créer des URL d'aperçu temporaires partageables pour votre site. Nous prenons même en charge une intégration GitHub à déployer à partir d'une demande d'extraction.
Avant que tu commences
Effectuez les étapes répertoriées sur la page Hosting Get Started , en particulier les tâches suivantes :
- Installez ou mettez à jour la CLI Firebase vers sa dernière version.
- Connectez le répertoire de projet local (contenant le contenu de votre application) à votre projet Firebase.
Vous pouvez éventuellement déployer le contenu et la configuration d'hébergement de votre application, mais ce n'est pas une condition préalable pour les étapes de cette page.
Étape 1 : Tester localement
Si vous effectuez des itérations rapides ou si vous souhaitez que votre application interagisse avec des ressources de projet backend émulées, vous pouvez tester votre contenu et votre configuration d'hébergement localement. Lors d'un test local, Firebase diffuse votre application Web sur une URL hébergée localement.
L'hébergement fait partie de Firebase Local Emulator Suite , qui permet à votre application d'interagir avec votre contenu et votre configuration d'hébergement émulé , ainsi qu'éventuellement avec vos ressources de projet émulées (fonctions, bases de données et règles).
(Facultatif) Par défaut, votre application hébergée localement interagira avec des ressources de projet réelles et non émulées (fonctions, base de données, règles, etc.). À la place, vous pouvez éventuellement connecter votre application pour utiliser toutes les ressources de projet émulées que vous avez configurées. En savoir plus : Base de données en temps réel | Cloud Firestore | Fonctions cloud
À partir de la racine du répertoire de votre projet local, exécutez la commande suivante :
firebase emulators:start
Ouvrez votre application Web à l'URL locale renvoyée par la CLI (généralement
http://localhost:5000
).Pour mettre à jour l'URL locale avec les modifications, actualisez votre navigateur.
Tester à partir d'autres appareils locaux
Par défaut, les émulateurs ne répondent qu'aux requêtes de localhost
. Cela signifie que vous pourrez accéder à votre contenu hébergé à partir du navigateur Web de votre ordinateur, mais pas à partir d'autres appareils sur votre réseau. Si vous souhaitez tester à partir d'autres appareils locaux, configurez votre firebase.json
comme suit :
"emulators": {
// ...
"hosting": {
"port": 5000
"host": "0.0.0.0"
}
}
Lorsque vous utilisez firebase serve
, votre application interagit avec un backend émulé pour votre contenu et votre configuration d'hébergement (et éventuellement des fonctions), mais votre vrai backend pour toutes les autres ressources du projet.
À partir de la racine du répertoire de votre projet local, exécutez la commande suivante :
firebase serve --only hosting
Ouvrez votre application Web à l'URL locale renvoyée par la CLI (généralement
http://localhost:5000
).Pour mettre à jour l'URL locale avec les modifications, actualisez votre navigateur.
Utiliser firebase serve
pour tester à partir d'autres appareils locaux
Par défaut, firebase serve
ne répond qu'aux requêtes de localhost
. Cela signifie que vous pourrez accéder à votre contenu hébergé à partir du navigateur Web de votre ordinateur, mais pas à partir d'autres appareils sur votre réseau. Si vous souhaitez tester à partir d'autres périphériques locaux, utilisez l'indicateur --host
, comme ceci :
firebase serve --host 0.0.0.0 // accepts requests to any host
Étape 2 : Prévisualisez et partagez
Si vous souhaitez que d'autres personnes voient les modifications apportées à votre application Web avant de la mettre en ligne, vous pouvez utiliser les canaux de prévisualisation.
Après le déploiement sur un canal de prévisualisation, Firebase diffuse votre application Web sur une "URL de prévisualisation", qui est une URL temporaire partageable. Lorsque vous utilisez une URL d'aperçu, votre application Web interagit avec votre backend réel pour toutes les ressources du projet (à l'exception de toutes les fonctions "épinglées" dans votre configuration de réécriture ).
Notez que bien que les URL d'aperçu soient difficiles à deviner (car elles contiennent un hachage aléatoire), elles sont publiques. Ainsi, toute personne connaissant l'URL peut y accéder.
À partir de la racine du répertoire de votre projet local, exécutez la commande suivante :
firebase hosting:channel:deploy CHANNEL_ID
Remplacez CHANNEL_ID par une chaîne sans espace (par exemple,
feature_mission-2-mars
). Cet ID sera utilisé pour construire l'URL d'aperçu associée au canal d'aperçu.Ouvrez votre application Web à l'URL d'aperçu renvoyée par la CLI. Il ressemblera à ceci :
PROJECT_ID -- CHANNEL_ID - RANDOM_HASH .web.app
Pour mettre à jour votre URL d'aperçu avec les modifications, exécutez à nouveau la même commande. Assurez-vous de spécifier le même
CHANNEL_ID
dans la commande.
En savoir plus sur la gestion des canaux de prévisualisation , y compris la façon de définir l'expiration d'un canal.
Firebase Hosting prend en charge une action GitHub qui crée et met à jour automatiquement une URL d'aperçu lorsque vous validez les modifications apportées à une demande d'extraction. Découvrez comment configurer et utiliser cette action GitHub .
Étape 3 : Déployer en direct
Lorsque vous êtes prêt à partager vos modifications avec le monde, déployez votre contenu et votre configuration d'hébergement sur votre chaîne en direct. Firebase propose plusieurs options différentes pour cette étape en fonction de votre cas d'utilisation (voir les options ci-dessous).
Option 1 : Cloner d'une chaîne de prévisualisation vers votre chaîne en direct
Cette option garantit que vous déployez sur votre canal en direct le contenu et la configuration exacts que vous avez testés dans un canal de prévisualisation. En savoir plus sur le clonage des versions .
Depuis n'importe quel répertoire, exécutez la commande suivante :
firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:live
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 qui se trouvent dans le même projet Firebase ou même dans différents projets Firebase.
SOURCE_CHANNEL_ID : il s'agit de l'identifiant du canal qui diffuse actuellement la version que vous souhaitez déployer sur votre canal en direct.
- Pour une chaîne en direct, utilisez
live
comme ID de chaîne.
- Pour une chaîne en direct, utilisez
Affichez vos modifications (étape suivante).
Option 2 : Déployer à partir de votre répertoire de projet local sur votre chaîne en direct
Cette option vous offre la possibilité d'ajuster les configurations spécifiques au canal en direct ou de déployer même si vous n'avez pas utilisé de canal de prévisualisation.
À partir de la racine du répertoire de votre projet local, exécutez la commande suivante :
firebase deploy --only hosting
Affichez vos modifications (étape suivante).
Étape 4 : Affichez vos modifications sur votre site en ligne
Les deux options ci-dessus déploient votre contenu et votre configuration d'hébergement sur les sites suivants :
Les sous-domaines fournis par Firebase pour votre site d'hébergement par défaut et tous les sites d'hébergement supplémentaires :
SITE_ID .web.app
(commePROJECT_ID .web.app
)
SITE_ID .firebaseapp.com
(commePROJECT_ID .firebaseapp.com
)Tous les domaines personnalisés que vous avez connectés à votre ou vos sites d'hébergement
Pour limiter le déploiement à un site d'hébergement spécifique, spécifiez une cible de déploiement dans votre commande CLI.
Autres activités de déploiement et informations
Ajouter un commentaire pour le déploiement
Vous pouvez éventuellement ajouter un commentaire à un déploiement. Ce commentaire s'affichera avec les autres informations de déploiement sur le tableau de bord d'hébergement dans la console Firebase. Par exemple:
firebase deploy --only hosting -m "Deploying the best new feature ever."
Ajouter des tâches scriptées de pré-déploiement et de post-déploiement
Vous pouvez éventuellement connecter des scripts shell à la commande firebase deploy
pour effectuer des tâches de prédéploiement ou de postdéploiement. Par exemple, un crochet post-déploiement pourrait informer les administrateurs des déploiements de nouveau contenu de site. Reportez-vous à la documentation de la CLI Firebase pour plus de détails.
Mise en cache du contenu déployé
Lorsqu'une demande est faite pour du contenu statique , Firebase Hosting met automatiquement le contenu en cache sur le CDN. Si vous redéployez le contenu de votre site, Firebase efface automatiquement tout votre contenu statique mis en cache sur le CDN afin que les nouvelles demandes reçoivent votre nouveau contenu.
Notez que vous pouvez configurer la mise en cache du contenu dynamique .
Servir sur HTTPS
Assurez-vous que toutes les ressources externes qui ne sont pas hébergées sur Firebase Hosting sont chargées via SSL (HTTPS), y compris les scripts externes. La plupart des navigateurs ne permettent pas aux utilisateurs de charger du "contenu mixte" (trafic SSL et non SSL).
Prochaines étapes
Intégrez GitHub et itérez votre contenu prévisualisé en configurant l'action GitHub .
En savoir plus sur les autres capacités d'hébergement :
Consultez la documentation complète de la CLI Firebase .
Préparez-vous à lancer votre application :
- Configurez des alertes budgétaires pour votre projet dans Google Cloud Console.
- Surveillez le tableau de bord d'utilisation et de facturation dans la console Firebase pour obtenir une vue d'ensemble de l'utilisation de votre projet sur plusieurs services Firebase. Vous pouvez également visiter le tableau de bord d'utilisation de l'hébergement pour des informations d'utilisation plus détaillées.
- Consultez la liste de contrôle de lancement de Firebase .