La CLI Firebase (GitHub) fournit divers outils pour gérer, afficher et déployer des projets Firebase.
Avant d'utiliser la CLI Firebase, configurez un projet Firebase.
Configurer ou mettre à jour la CLI
Installer la CLI Firebase
Vous pouvez installer la CLI Firebase à l'aide d'une méthode adaptée à votre système d'exploitation, à votre niveau d'expérience et/ou à votre cas d'utilisation. Quelle que soit la méthode d'installation de la CLI, vous avez accès aux mêmes fonctionnalités et à la commande firebase
.
Windows
Vous pouvez installer la CLI Firebase pour Windows à l'aide de l'une des options suivantes:
Option | Description | Recommandé pour |
---|---|---|
binaire autonome | Téléchargez le binaire autonome de la CLI. Vous pouvez ensuite accéder à l'exécutable pour ouvrir un shell dans lequel vous pouvez exécuter la commande firebase .
|
Nouveaux développeurs Développeurs qui n'utilisent pas Node.js ou qui ne le connaissent pas |
npm | Utilisez npm (Node Package Manager) pour installer la CLI et activer la commande firebase disponible dans le monde entier.
|
Développeurs utilisant Node.js |
binaire autonome
Pour télécharger et exécuter le binaire de la CLI Firebase, procédez comme suit:
Téléchargez le binaire de la CLI Firebase pour Windows.
Accédez au binaire pour ouvrir un shell dans lequel vous pouvez exécuter la commande
firebase
.Poursuivez pour vous connecter et tester la CLI.
npm
Pour utiliser npm
(le gestionnaire de paquets Node) pour installer la CLI Firebase, procédez comme suit:
Installez Node.js à l'aide de nvm-windows (Node Version Manager). L'installation de Node.js installe automatiquement les outils de commande
npm
.Installez la CLI Firebase via
npm
en exécutant la commande suivante:npm install -g firebase-tools
Cette commande active la commande
firebase
disponible dans le monde entier.Poursuivez pour vous connecter et tester la CLI.
macOS ou Linux
Vous pouvez installer la CLI Firebase pour macOS ou Linux à l'aide de l'une des options suivantes:
Option | Description | Recommandé pour |
---|---|---|
script d'installation automatique | Exécutez une seule commande qui détecte automatiquement votre système d'exploitation, télécharge la dernière version de la CLI, puis active la commande firebase disponible dans le monde entier.
|
Nouveaux développeurs Développeurs qui n'utilisent pas Node.js ou qui ne le connaissent pas Déploiements automatisés dans un environnement CI/CD |
binaire autonome | Téléchargez le binaire autonome de la CLI. Vous pouvez ensuite configurer et exécuter le binaire en fonction de votre workflow. | Workflows entièrement personnalisables à l'aide de la CLI |
npm | Utilisez npm (Node Package Manager) pour installer la CLI et activer la commande firebase disponible dans le monde entier.
|
Développeurs utilisant Node.js |
script d'installation automatique
Pour installer la CLI Firebase à l'aide du script d'installation automatique, procédez comme suit:
Exécutez la commande cURL suivante:
curl -sL https://firebase.tools | bash
Ce script détecte automatiquement votre système d'exploitation, télécharge la dernière version de la CLI Firebase, puis active la commande
firebase
disponible dans le monde entier.Poursuivez pour vous connecter et tester la CLI.
Pour plus d'exemples et d'informations sur le script d'installation automatique, consultez le code source du script sur firebase.tools.
binaire autonome
Pour télécharger et exécuter le binaire de la CLI Firebase spécifique à votre OS, procédez comme suit:
Téléchargez le binaire de la CLI Firebase pour votre OS : macOS | Linux
(Facultatif) Configurez la commande
firebase
disponible à l'échelle mondiale.- Rendez le binaire exécutable en exécutant
chmod +x ./firebase_tools
. - Ajoutez le chemin d'accès du binaire à votre PATH.
- Rendez le binaire exécutable en exécutant
Poursuivez pour vous connecter et tester la CLI.
npm
Pour utiliser npm
(le gestionnaire de paquets Node) pour installer la CLI Firebase, procédez comme suit:
Installez Node.js à l'aide de nvm (Node Version Manager).
L'installation de Node.js installe automatiquement les outils de commandenpm
.Installez la CLI Firebase via
npm
en exécutant la commande suivante:npm install -g firebase-tools
Cette commande active la commande
firebase
disponible dans le monde entier.Poursuivez pour vous connecter et tester la CLI.
Se connecter et tester la CLI Firebase
Après avoir installé la CLI, vous devez vous authentifier. Vous pouvez ensuite confirmer l'authentification en listant vos projets Firebase.
Connectez-vous à Firebase avec votre compte Google en exécutant la commande suivante:
firebase login
Cette commande connecte votre ordinateur local à Firebase et vous permet d'accéder à vos projets Firebase.
Vérifiez que la CLI est correctement installée et qu'elle accède à votre compte en listant vos projets Firebase. Exécutez la commande suivante :
firebase projects:list
La liste affichée doit être identique aux projets Firebase listés dans la console Firebase.
Mettre à jour vers la dernière version de la CLI
En règle générale, vous devez utiliser la version la plus récente de la CLI Firebase.
La façon dont vous mettez à jour la version de la CLI dépend de votre système d'exploitation et de la façon dont vous avez installé la CLI.
Windows
- fichier binaire autonome: téléchargez la nouvelle version, puis remplacez-la sur votre système.
- npm: exécuter
npm install -g firebase-tools
macOS
- Script d'installation automatique: exécutez
curl -sL https://firebase.tools | upgrade=true bash
. - fichier binaire autonome: téléchargez la nouvelle version, puis remplacez-la sur votre système.
- npm: exécuter
npm install -g firebase-tools
Linux
- Script d'installation automatique: exécutez
curl -sL https://firebase.tools | upgrade=true bash
. - fichier binaire autonome: téléchargez la nouvelle version, puis remplacez-la sur votre système.
- npm: exécuter
npm install -g firebase-tools
Utiliser la CLI avec les systèmes CI
La CLI Firebase nécessite un navigateur pour effectuer l'authentification, mais elle est entièrement compatible avec le CI et d'autres environnements headless.
Sur une machine avec un navigateur, installez la CLI Firebase.
Démarrez le processus de connexion en exécutant la commande suivante:
firebase login:ci
Accédez à l'URL indiquée, puis connectez-vous à l'aide d'un compte Google.
Imprimez un nouveau jeton d'actualisation. La session CLI en cours ne sera pas affectée.
Stockez le jeton de sortie de manière sécurisée, mais accessible, dans votre système de CI.
Utilisez ce jeton lorsque vous exécutez des commandes
firebase
. Vous pouvez utiliser l'une des deux options suivantes:Option 1:Stockez le jeton en tant que variable d'environnement
FIREBASE_TOKEN
. Votre système utilisera automatiquement le jeton.Option 2:Exécutez toutes les commandes
firebase
avec l'option--token TOKEN
dans votre système de CI.
Voici l'ordre de priorité pour le chargement de jeton: indicateur, variable d'environnement, projet Firebase souhaité.
Initialiser un projet Firebase
De nombreuses tâches courantes effectuées à l'aide de la CLI, comme le déploiement dans un projet Firebase, nécessitent un répertoire de projet. Vous établissez un répertoire de projet à l'aide de la commande firebase init
. Un répertoire de projet est généralement le même que le répertoire racine de votre contrôle source. Après avoir exécuté firebase init
, le répertoire contient un fichier de configuration firebase.json
.
Pour initialiser un nouveau projet Firebase, exécutez la commande suivante à partir du répertoire de votre application:
firebase init
La commande firebase init
vous guide tout au long de la configuration de votre répertoire de projet et de certains produits Firebase. Lors de l'initialisation du projet, la CLI Firebase vous demande d'effectuer les tâches suivantes:
Sélectionnez les produits Firebase que vous souhaitez configurer dans votre projet Firebase.
Cette étape vous invite à définir des configurations pour des fichiers spécifiques pour les produits sélectionnés. Pour en savoir plus sur ces configurations, consultez la documentation du produit spécifique (par exemple, Hosting). Notez que vous pouvez toujours exécuter
firebase init
plus tard pour configurer d'autres produits Firebase.Sélectionnez un projet Firebase par défaut.
Cette étape associe le répertoire de projet actuel à un projet Firebase afin que les commandes spécifiques au projet (comme
firebase deploy
) s'exécutent sur le projet Firebase approprié.Vous pouvez également associer plusieurs projets Firebase (tels qu'un projet de préproduction et un projet de production) au même répertoire de projet.
À la fin de l'initialisation, Firebase crée automatiquement les deux fichiers suivants à la racine de votre répertoire d'application local:
Fichier de configuration
firebase.json
qui liste la configuration de votre projet.Fichier
.firebaserc
qui stocke les alias de votre projet.
Le fichier firebase.json
La commande firebase init
crée un fichier de configuration firebase.json
dans la racine du répertoire de votre projet.
Le fichier firebase.json
est obligatoire pour déployer des composants avec la CLI Firebase, car il spécifie les fichiers et les paramètres de votre répertoire de projet qui sont déployés dans votre projet Firebase. Étant donné que certains paramètres peuvent être définis dans le répertoire de votre projet ou dans la console Firebase, assurez-vous de résoudre les conflits de déploiement potentiels.
Vous pouvez configurer la plupart des options Firebase Hosting directement dans le fichier firebase.json
. Toutefois, pour les autres services Firebase pouvant être déployés avec la CLI Firebase, la commande firebase init
crée des fichiers spécifiques dans lesquels vous pouvez définir des paramètres pour ces services, tels qu'un fichier index.js
pour Cloud Functions. Vous pouvez également configurer des hooks de prédéploiement ou de postdéploiement dans le fichier firebase.json
.
Vous trouverez ci-dessous un exemple de fichier firebase.json
avec les paramètres par défaut si vous sélectionnez Firebase Hosting, Cloud Firestore et Cloud Functions for Firebase (avec les options de source et de lint TypeScript sélectionnées) lors de l'initialisation.
{
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
},
"firestore": {
"rules": "firestore.rules",
"indexes": "firestore.indexes.json"
},
"functions": {
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint",
"npm --prefix \"$RESOURCE_DIR\" run build"
]
}
}
Bien que firebase.json
soit utilisé par défaut, vous pouvez transmettre l'indicateur --config PATH
pour spécifier un autre fichier de configuration.
Configuration pour plusieurs bases de données Cloud Firestore
Lorsque vous exécutez firebase init
, votre fichier firebase.json
contient une seule clé firestore
correspondant à la base de données par défaut de votre projet, comme illustré ci-dessus.
Si votre projet contient plusieurs bases de données Cloud Firestore, modifiez votre fichier firebase.json
pour associer différents fichiers sources d'index de base de données et Cloud Firestore Security Rules à chaque base de données. Modifiez le fichier avec un tableau JSON, avec une entrée pour chaque base de données.
"firestore": [
{
"database": "(default)",
"rules": "firestore.default.rules",
"indexes": "firestore.default.indexes.json"
},
{
"database": "ecommerce",
"rules": "firestore.ecommerce.rules",
"indexes": "firestore.ecommerce.indexes.json"
}
],
Fichiers Cloud Functions à ignorer lors du déploiement
Au moment du déploiement de la fonction, la CLI spécifie automatiquement une liste de fichiers dans le répertoire functions
à ignorer. Cela évite de déployer des fichiers superflus dans le backend qui pourraient augmenter la taille des données de votre déploiement.
Voici la liste des fichiers ignorés par défaut, au format JSON:
"ignore": [
".git",
".runtimeconfig.json",
"firebase-debug.log",
"firebase-debug.*.log",
"node_modules"
]
Si vous ajoutez vos propres valeurs personnalisées pour ignore
dans firebase.json
, veillez à conserver (ou à ajouter, si elle est manquante) la liste des fichiers indiquée ci-dessus.
Gérer les alias de projet
Vous pouvez associer plusieurs projets Firebase au même répertoire de projets.
Par exemple, vous pouvez utiliser un projet Firebase pour la préproduction et un autre pour la production. En utilisant différents environnements de projet, vous pouvez vérifier les modifications avant de les déployer en production. La commande firebase use
vous permet de basculer entre des alias et de créer des alias.
Ajouter un alias de projet
Lorsque vous sélectionnez un projet Firebase lors de l'initialisation du projet, l'alias default
lui est automatiquement attribué. Toutefois, pour autoriser l'exécution de commandes spécifiques à un projet sur un autre projet Firebase tout en utilisant le même répertoire de projet, exécutez la commande suivante à partir de votre répertoire de projet:
firebase use --add
Cette commande vous invite à sélectionner un autre projet Firebase et à l'attribuer en tant qu'alias. Les attributions d'alias sont écrites dans un fichier .firebaserc
dans le répertoire de votre projet.
Utiliser des alias de projet
Pour utiliser les alias de projet Firebase attribués, exécutez l'une des commandes suivantes depuis le répertoire de votre projet.
Commande | Description |
---|---|
firebase use |
Afficher la liste des alias actuellement définis pour le répertoire de votre projet |
firebase use \ |
Indique à toutes les commandes d'être exécutées sur le projet Firebase spécifié.
La CLI utilise ce projet comme "projet actif" actuel. |
firebase use --clear |
Efface le projet actif.
Exécutez |
firebase use \ |
Supprime un alias du répertoire de votre projet. |
Vous pouvez remplacer le projet actuellement actif en transmettant l'indicateur --project
avec n'importe quelle commande CLI. Par exemple, vous pouvez configurer votre CLI pour qu'elle s'exécute sur un projet Firebase auquel vous avez attribué l'alias staging
. Si vous souhaitez exécuter une seule commande sur le projet Firebase auquel vous avez attribué l'alias prod
, vous pouvez exécuter, par exemple,
.
Contrôle des sources et alias de projet
En règle générale, vous devez enregistrer votre fichier .firebaserc
dans le contrôle de source pour permettre à votre équipe de partager des alias de projet. Toutefois, pour les projets Open Source ou les modèles de démarrage, vous ne devez généralement pas enregistrer votre fichier .firebaserc
.
Si vous disposez d'un projet de développement à usage personnel uniquement, vous pouvez transmettre l'indicateur --project
avec chaque commande ou exécuter firebase use PROJECT_ID
sans attribuer d'alias au projet Firebase.
Héberger et tester votre projet Firebase en local
Vous pouvez afficher et tester votre projet Firebase sur des URL hébergées localement avant de le déployer en production. Si vous ne souhaitez tester que certaines fonctionnalités, vous pouvez utiliser une liste d'éléments séparés par une virgule dans un indicateur de la commande firebase serve
.
Exécutez la commande suivante à partir de la racine de votre répertoire de projet local si vous souhaitez effectuer l'une des tâches suivantes:
- Afficher le contenu statique de votre application hébergée par Firebase
- Vous utilisez Cloud Functions pour générer du contenu dynamique pour Firebase Hosting et vous souhaitez utiliser vos fonctions HTTP de production (déployées) pour émuler Hosting sur une URL locale.
firebase serve --only hosting
Émuler votre projet à l'aide de fonctions HTTP locales
Exécutez l'une des commandes suivantes à partir du répertoire de votre projet pour émuler votre projet à l'aide de fonctions HTTP locales.
Pour émuler les fonctions et l'hébergement HTTP à des fins de test sur des URL locales, utilisez l'une des commandes suivantes:
firebase serve
firebase serve --only functions,hosting // uses a flag
Pour émuler uniquement les fonctions HTTP, utilisez la commande suivante:
firebase serve --only functions
Tester depuis 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é depuis le navigateur Web de votre ordinateur, mais pas depuis d'autres appareils de votre réseau. Si vous souhaitez effectuer des tests à partir d'autres appareils locaux, utilisez l'indicateur --host
, comme suit:
firebase serve --host 0.0.0.0 // accepts requests to any host
Déployer dans un projet Firebase
La CLI Firebase gère le déploiement de code et d'éléments dans votre projet Firebase, y compris les éléments suivants:
- Nouvelles versions de vos sites Firebase Hosting
- Cloud Functions for Firebase nouvelle, mise à jour ou existante
- Nouveaux schémas et connecteurs pour Firebase Data Connect
- Règles pour Firebase Realtime Database
- Règles pour Cloud Storage for Firebase
- Règles pour Cloud Firestore
- Index pour Cloud Firestore
Pour déployer dans un projet Firebase, exécutez la commande suivante à partir du répertoire de votre projet:
firebase deploy
Vous pouvez ajouter un commentaire à chacun de vos déploiements. Ce commentaire s'affiche avec les autres informations de déploiement sur la page Firebase Hosting de votre projet. Exemple :
firebase deploy -m "Deploying the best new feature ever."
Lorsque vous utilisez la commande firebase deploy
, gardez à l'esprit ce qui suit:
Pour déployer des ressources à partir d'un répertoire de projet, le répertoire de projet doit contenir un fichier
firebase.json
. Ce fichier est créé automatiquement par la commandefirebase init
.Par défaut,
firebase deploy
crée une version pour toutes les ressources déployables dans le répertoire de votre projet. Pour déployer des services ou fonctionnalités Firebase spécifiques, utilisez le déploiement partiel.
Conflits de déploiement pour les règles de sécurité
Pour Firebase Realtime Database, Cloud Storage for Firebase et Cloud Firestore, vous pouvez définir des règles de sécurité dans le répertoire de projet local ou dans la console Firebase.
Pour éviter les conflits de déploiement, vous pouvez également utiliser un déploiement partiel et ne définir que des règles dans la console Firebase.
Quotas de déploiement
Il est possible (mais peu probable) que vous dépassiez un quota qui limite la fréquence ou le volume de vos opérations de déploiement Firebase. Par exemple, lorsque vous déployez un très grand nombre de fonctions, vous pouvez recevoir un message d'erreur HTTP 429 Quota
. Pour résoudre ces problèmes, essayez d'utiliser un déploiement partiel.
Effectuer le rollback d'un déploiement
Vous pouvez annuler un déploiement Firebase Hosting depuis la page Firebase Hosting de votre projet en sélectionnant l'action Rollback (Annuler) pour la version souhaitée.
Il n'est actuellement pas possible de revenir en arrière sur les versions de règles de sécurité pour Firebase Realtime Database, Cloud Storage for Firebase ou Cloud Firestore.
Déployer des services Firebase spécifiques
Si vous ne souhaitez déployer que des services ou fonctionnalités Firebase spécifiques, vous pouvez utiliser une liste séparée par des virgules dans un indicateur de la commande firebase deploy
. Par exemple, la commande suivante déploie le contenu Firebase Hosting et les règles de sécurité Cloud Storage.
firebase deploy --only hosting,storage
Le tableau suivant répertorie les services et fonctionnalités disponibles pour le déploiement partiel. Les noms des indicateurs correspondent aux clés de votre fichier de configuration firebase.json
.
Syntaxe des indicateurs | Service ou fonctionnalité déployés |
---|---|
--only hosting |
Contenu Firebase Hosting |
--only database |
Firebase Realtime Database règles |
--only dataconnect |
Schémas et connecteurs Firebase Data Connect |
--only storage |
Cloud Storage for Firebase règles |
--only firestore |
Règles Cloud Firestore et index pour toutes les bases de données configurées |
--only functions |
Cloud Functions for Firebase (des versions plus spécifiques de cet indicateur sont possibles) |
Déployer des fonctions spécifiques
Lorsque vous déployez des fonctions, vous pouvez cibler des fonctions spécifiques. Exemple :
firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2
Vous pouvez également regrouper des fonctions dans des groupes d'exportation dans votre fichier /functions/index.js
. Le regroupement de fonctions vous permet de déployer plusieurs fonctions à l'aide d'une seule commande.
Par exemple, vous pouvez écrire les fonctions suivantes pour définir un groupA
et un groupB
:
var functions = require('firebase-functions/v1');
exports.groupA = {
function1: functions.https.onRequest(...),
function2: functions.database.ref('\path').onWrite(...)
}
exports.groupB = require('./groupB');
Dans cet exemple, un fichier functions/groupB.js
distinct contient des fonctions supplémentaires qui définissent spécifiquement les fonctions dans groupB
. Exemple :
var functions = require('firebase-functions/v1');
exports.function3 = functions.storage.object().onChange(...);
exports.function4 = functions.analytics.event('in_app_purchase').onLog(...);
Dans cet exemple, vous pouvez déployer toutes les fonctions groupA
en exécutant la commande suivante à partir du répertoire de votre projet:
firebase deploy --only functions:groupA
Vous pouvez également cibler une fonction spécifique d'un groupe en exécutant la commande suivante:
firebase deploy --only functions:groupA.function1,groupB.function4
Supprimer des fonctions
La CLI Firebase accepte les commandes et options suivantes pour supprimer les fonctions précédemment déployées:
Supprime toutes les fonctions correspondant au nom spécifié dans toutes les régions :
firebase functions:delete FUNCTION-1_NAME
Supprime une fonction spécifiée exécutée dans une région autre que celle par défaut :
firebase functions:delete FUNCTION-1_NAME --region REGION_NAME
Supprime plusieurs fonctions :
firebase functions:delete FUNCTION-1_NAME FUNCTION-2_NAME
Supprime un groupe de fonctions spécifié :
firebase functions:delete GROUP_NAME
Ignore l'invite de confirmation :
firebase functions:delete FUNCTION-1_NAME --force
Configurer des tâches de prédéploiement et de postdéploiement
Vous pouvez connecter des scripts shell à la commande firebase deploy
pour effectuer des tâches de prédéploiement ou de postdéploiement. Par exemple, un script de prédéploiement peut transcompiler le code TypeScript en JavaScript, et un hook postdéploiement peut avertir les administrateurs des nouveaux déploiements de contenu de site sur Firebase Hosting.
Pour configurer des hooks de prédéploiement ou de postdéploiement, ajoutez des scripts bash à votre fichier de configuration firebase.json
. Vous pouvez définir des scripts courts directement dans le fichier firebase.json
ou faire référence à d'autres fichiers situés dans le répertoire de votre projet.
Par exemple, le script suivant est l'expression firebase.json
d'une tâche post-déploiement qui envoie un message Slack après un déploiement réussi sur Firebase Hosting.
"hosting": {
// ...
"postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
"public": "public"
}
Le fichier de script messageSlack.sh
se trouve dans le répertoire du projet et se présente comme suit:
curl -X POST -H 'Content-type: application/json' --data '{"text":"$1"}' \https://SLACK_WEBHOOK_URL
Vous pouvez configurer des hooks predeploy
et postdeploy
pour tous les éléments que vous pouvez déployer. Notez que l'exécution de firebase deploy
déclenche toutes les tâches de prédéploiement et de postdéploiement définies dans votre fichier firebase.json
. Pour n'exécuter que les tâches associées à un service Firebase spécifique, utilisez des commandes de déploiement partiel.
Les hooks predeploy
et postdeploy
impriment la sortie standard et les flux d'erreur des scripts dans le terminal. Pour les cas de défaillance, notez les points suivants:
- Si un hook de prédéploiement ne se termine pas comme prévu, le déploiement est annulé.
- Si le déploiement échoue pour une raison quelconque, les hooks post-déploiement ne sont pas déclenchés.
Variables d'environnement
Dans les scripts exécutés dans les hooks de prédéploiement et de postdéploiement, les variables d'environnement suivantes sont disponibles:
$GCLOUD_PROJECT
: ID du projet actif$PROJECT_DIR
: répertoire racine contenant le fichierfirebase.json
$RESOURCE_DIR
: (Pour les scriptshosting
etfunctions
uniquement) emplacement du répertoire contenant les ressources Hosting ou Cloud Functions à déployer
Gérer plusieurs instances Realtime Database
Un projet Firebase peut comporter plusieurs instances Firebase Realtime Database. Par défaut, les commandes CLI interagissent avec votre instance de base de données par défaut.
Toutefois, vous pouvez interagir avec une instance de base de données non par défaut à l'aide de l'option --instance DATABASE_NAME
--instance
:
firebase database:get
firebase database:profile
firebase database:push
firebase database:remove
firebase database:set
firebase database:update
Documentation de référence sur les commandes
Commandes administratives de la CLI
Commande | Description |
---|---|
help | Affiche des informations d'aide sur la CLI ou des commandes spécifiques. |
init | Associe et configure un nouveau projet Firebase dans le répertoire actuel.
Cette commande crée un fichier de configuration firebase.json dans le répertoire actuel. |
login | Authentifie la CLI auprès de votre compte Firebase. Nécessite un accès à un navigateur Web. Pour vous connecter à la CLI dans des environnements distants qui n'autorisent pas l'accès à localhost , utilisez l'option --no-localhost |
login:ci | Génère un jeton d'authentification à utiliser dans des environnements non interactifs. |
logout | Déconnecte la CLI de votre compte Firebase. |
ouvrir | Ouvre un navigateur pour accéder aux ressources de projet pertinentes. |
projects:list | Répertorie tous les projets Firebase auxquels vous avez accès. |
utiliser | Définit le projet Firebase actif pour la CLI. Gère les alias de projet. |
Commandes de gestion de projet
Commande | Description | |
---|---|---|
Gestion des projets Firebase | ||
projects:addfirebase | Ajoute des ressources Firebase à un projet Google Cloud existant. | |
projects:create | Crée un projet Google Cloud, puis ajoute des ressources Firebase à ce projet. | |
projects:list | Répertorie tous les projets Firebase auxquels vous avez accès. | |
Gestion des applications Firebase (iOS, Android, Web) | ||
apps:create | Crée une application Firebase dans le projet actif. | |
apps:list | Répertorie les applications Firebase enregistrées dans le projet actif. | |
apps:sdkconfig | Imprime la configuration des services Google d'une application Firebase. | |
setup:web | Obsolète. Utilisez plutôt apps:sdkconfig et spécifiez web comme argument de plate-forme.Imprime la configuration des services Google d'une application Web Firebase. |
|
Gestion des hachages de certificats SHA (Android uniquement) | ||
apps:android:sha:create \ FIREBASE_APP_ID SHA_HASH |
Ajoute le hachage de certificat SHA spécifié à l'application Android Firebase spécifiée. | |
apps:android:sha:delete \ FIREBASE_APP_ID SHA_HASH |
Supprime le hachage de certificat SHA spécifié de l'application Android Firebase spécifiée. | |
apps:android:sha:list \ FIREBASE_APP_ID |
Répertorie les hachages de certificats SHA pour l'application Android Firebase spécifiée. |
Déploiement et développement local
Ces commandes vous permettent de déployer et d'interagir avec votre site Firebase Hosting.
Commande | Description |
---|---|
déploiement | Déploie le code et les composants de votre répertoire de projet dans le projet actif. Pour Firebase Hosting, un fichier de configuration firebase.json est requis.
|
service | Démarre un serveur Web local avec votre configuration Firebase Hosting.
Pour Firebase Hosting, un fichier de configuration firebase.json est requis. |
Commandes App Distribution
Commande | Description |
---|---|
appdistribution:distribute \ --app FIREBASE_APP_ID |
Rend le build disponible pour les testeurs. |
appdistribution:testers:add | Ajoute des testeurs au projet. |
appdistribution:testers:remove | Supprime les testeurs du projet. |
Commandes App Hosting
Commande | Description |
---|---|
apphosting:backends:create \ --project PROJECT_ID \ --location REGION --app APP_ID |
Crée l'ensemble de ressources gérées associées à un seul codebase comprenant un backend App Hosting. Vous pouvez éventuellement spécifier une application Web Firebase existante par son ID d'application Firebase. |
apphosting:backends:get \ BACKEND_ID \ --project PROJECT_ID \ --location REGION |
Récupère des informations spécifiques, y compris l'URL publique, d'un backend. |
apphosting:backends:list \ --project PROJECT_ID |
Récupère la liste de tous les backends actifs associés à un projet. |
firebase apphosting:backends:delete \ BACKEND_ID \ --project PROJECT_ID \ --location REGION |
Supprime un backend du projet. |
firebase apphosting:config:export \ --project PROJECT_ID \ --secrets ENVIRONMENT_NAME |
Exporte des secrets à utiliser dans l'émulation d'application. est défini par défaut sur les secrets stockés dans apphosting.yaml ou utilise --secrets pour spécifier tout environnement associé à un fichier apphosting.ENVIRONMENT_NAME.yaml .
|
firebase apphosting:rollouts:create \ BACKEND_ID \ --git_branch BRANCH_NAME \ --git_commit COMMIT_ID |
Crée un déploiement déclenché manuellement. Vous pouvez éventuellement spécifier le dernier commit d'une branche ou un commit spécifique. Si aucune option n'est fournie, invite l'utilisateur à sélectionner une branche dans une liste. |
apphosting:secrets:set
KEY
--project PROJECT_ID \ --location REGION \ --data-file DATA_FILE_PATH |
Stocke le matériel secret dans Secret Manager. Fournissez éventuellement un chemin d'accès à un fichier à partir duquel lire les données secrètes. Définissez cette option sur _ pour lire les données secrètes à partir de l'entrée standard.
|
apphosting:secrets:grantaccess
KEY
BACKEND_ID \ --project PROJECT_ID \ --location REGION |
Accorde au compte de service backend l'accès au secret fourni afin qu'il puisse être accessible par App Hosting au moment de la compilation ou de l'exécution. |
apphosting:secrets:describe
KEY \ --project PROJECT_ID |
Récupère les métadonnées d'un secret et de ses versions. |
firebase apphosting:secrets:access \ KEY[@version] \ --project PROJECT_ID |
Accéde à une valeur de secret en fonction du secret et de sa version. La valeur par défaut est l'accès à la dernière version. |
Commandes Authentication (gestion des utilisateurs)
Commande | Description |
---|---|
auth:export | Exporte les comptes utilisateur du projet actif vers un fichier JSON ou CSV. Pour en savoir plus, consultez la page auth:import et auth:export. |
auth:import | Importe les comptes utilisateur à partir d'un fichier JSON ou CSV dans le projet actif. Pour en savoir plus, consultez la page auth:import et auth:export. |
Commandes Cloud Firestore
Commande | Description |
---|---|
firestore:locations |
Liste des emplacements disponibles pour votre base de données Cloud Firestore. |
firestore:databases:create DATABASE_ID |
Créez une instance de base de données en mode natif dans votre projet Firebase. La commande accepte les options suivantes:
|
firestore:databases:list |
Répertoriez les bases de données de votre projet Firebase. |
firestore:databases:get DATABASE_ID |
Obtenez la configuration de la base de données pour une base de données spécifiée dans votre projet Firebase. |
firestore:databases:update DATABASE_ID |
Mettez à jour la configuration de la base de données d'une base de données spécifiée dans votre projet Firebase. Vous devez indiquer au moins un indicateur. La commande accepte les options suivantes:
|
firestore:databases:delete DATABASE_ID |
Supprimez une base de données de votre projet Firebase. |
firestore:indexes |
Répertoriez les index d'une base de données dans votre projet Firebase. La commande accepte l'option suivante:
|
firestore:delete |
Supprime les documents de la base de données du projet actif. À l'aide de la CLI, vous pouvez supprimer de manière récursive tous les documents d'une collection. Notez que la suppression de données Cloud Firestore à l'aide de la CLI entraîne des coûts de lecture et de suppression. Pour en savoir plus, consultez la section Comprendre la facturation Cloud Firestore. La commande accepte l'option suivante:
|
Commandes Cloud Functions for Firebase
Commande | Description |
---|---|
functions:config:clone | Clone l'environnement d'un autre projet dans le projet Firebase actif. |
functions:config:get | Récupère les valeurs de configuration existantes de l'Cloud Functions du projet actif. |
functions:config:set | Stocke les valeurs de configuration d'exécution de l'Cloud Functions du projet actif. |
functions:config:unset | Supprime les valeurs de la configuration d'exécution du projet actif. |
functions:log | Lit les journaux des Cloud Functions déployés. |
Pour en savoir plus, consultez la documentation de configuration de l'environnement.
Commandes Crashlytics
Commande | Description |
---|---|
crashlytics:mappingfile:generateid \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML |
Génère un ID de fichier de mappage unique dans le fichier de ressources Android (XML) spécifié. |
crashlytics:mappingfile:upload \ --app=FIREBASE_APP_ID \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML \ PATH/TO/MAPPING_FILE.TXT |
Importe un fichier de mappage (TXT) compatible avec Proguard pour cette application et l'associe à l'ID de fichier de mappage déclaré dans le fichier de ressources Android (XML) spécifié. |
crashlytics:symbols:upload \ --app=FIREBASE_APP_ID \ PATH/TO/SYMBOLS |
Génère un fichier de symboles compatible avec Crashlytics pour les plantages de bibliothèques natives sur Android, puis l'importe sur les serveurs Firebase. |
Commandes Data Connect
Ces commandes et leurs cas d'utilisation sont décrits plus en détail dans le guide de référence de la CLI Data Connect.
Commande | Description |
---|---|
dataconnect:services:list | Répertorie tous les services Data Connect déployés dans votre projet Firebase. |
dataconnect:sql:diff \ SERVICE_ID |
Pour le service spécifié, affiche les différences entre un schéma Data Connect local et le schéma de votre base de données Cloud SQL. |
dataconnect:sql:migrate \ --force \ SERVICE_ID |
Migre le schéma de votre base de données Cloud SQL pour qu'il corresponde à votre schéma Data Connect local. |
dataconnect:sql:grant\ --role=ROLE \ --email=EMAIL \ SERVICE_ID |
Attribue le rôle SQL à l'adresse e-mail de l'utilisateur ou du compte de service spécifié.
Pour l'indicateur --role , le rôle SQL à accorder est l'un des suivants : owner , writer ou reader .
Pour l'indicateur --email , indiquez l'adresse e-mail de l'utilisateur ou du compte de service auquel attribuer le rôle.
|
dataconnect:sdk:generate | Génère des SDK typés pour vos connecteurs Data Connect. |
Commandes Extensions
Commande | Description |
---|---|
ext | Affiche des informations sur l'utilisation des commandes Firebase Extensions. Répertorie les instances d'extension installées dans le projet actif. |
ext:configure \ EXTENSION_INSTANCE_ID |
Reconfigure les valeurs de paramètre d'une instance d'extension dans votre fichier manifeste d'extension. |
ext:info \ PUBLISHER_ID/EXTENSION_ID |
Imprime des informations détaillées sur une extension. |
ext:install \ PUBLISHER_ID/EXTENSION_ID |
Ajoute une instance d'une extension dans votre fichier manifeste d'extension. |
ext:list | Répertorie toutes les instances d'extension installées dans un projet Firebase. Imprime l'ID d'instance pour chaque extension. |
ext:uninstall \ EXTENSION_INSTANCE_ID |
Supprime une instance d'extension de votre fichier manifeste d'extension. |
ext:update \ EXTENSION_INSTANCE_ID |
Met à jour une instance d'extension vers la dernière version dans votre fichier manifeste d'extension. |
ext:export | Exporte toutes les instances d'extension installées de votre projet vers votre fichier manifeste d'extension. |
Commandes Extensions pour les éditeurs
Commande | Description |
---|---|
ext:dev:init | Initialise un code de base squelette pour une nouvelle extension dans le répertoire actuel. |
ext:dev:list \ PUBLISHER_ID |
Affiche la liste de toutes les extensions importées par un éditeur. |
ext:dev:register | Enregistre un projet Firebase en tant que projet d'éditeur d'extensions. |
ext:dev:deprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
Déprécie les versions d'extension qui correspondent au prédicat de version. Un prédicat de version peut être une seule version (par exemple, 1.0.0 ) ou une plage de versions (par exemple, >1.0.0 ).Si aucun prédicat de version n'est fourni, toutes les versions de cette extension sont abandonnées. |
ext:dev:undeprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
Supprime la mention obsolète des versions d'extension qui correspondent au prédicat de version. Un prédicat de version peut être une seule version (par exemple, 1.0.0 ) ou une plage de versions (par exemple, >1.0.0 ).Si aucun prédicat de version n'est fourni, toutes les versions de cette extension sont réactivées. |
ext:dev:upload \ PUBLISHER_ID/EXTENSION_ID |
Importe une nouvelle version d'une extension. |
ext:dev:usage \ PUBLISHER_ID |
Affiche le nombre d'installations et les métriques d'utilisation des extensions importées par un éditeur. |
Commandes Hosting
Commande | Description |
---|---|
hosting:disable |
Arrête de diffuser le trafic Firebase Hosting pour le projet Firebase actif. Après avoir exécuté cette commande, l'URL Hosting de votre projet affichera le message "Site introuvable". |
Gestion des sites Hosting | |
firebase hosting:sites:create \ SITE_ID |
Crée un site Hosting dans le projet Firebase actif à l'aide de l' (Facultatif) Spécifiez une application Web Firebase existante à associer au nouveau site en transmettant l'indicateur suivant : |
firebase hosting:sites:delete \ SITE_ID |
Supprime le site Hosting spécifié La CLI affiche une invite de confirmation avant de supprimer le site. (Facultatif) Ignorez l'invite de confirmation en transmettant les indicateurs suivants: |
firebase hosting:sites:get \ SITE_ID |
Récupère des informations sur le site Hosting spécifié. |
firebase hosting:sites:list |
Répertorie tous les sites Hosting du projet Firebase actif. |
Gestion des canaux de prévisualisation | |
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' 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 le flux 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. |
Clonage de version | |
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 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. Vous trouverez |
Commandes Realtime Database
Notez que vous pouvez créer votre instance Realtime Database initiale par défaut dans la console Firebase ou à l'aide du workflow firebase init
général ou du flux firebase init database
spécifique.
Une fois les instances créées, vous pouvez les gérer comme indiqué dans la section Gérer plusieurs instances Realtime Database.
Commande | Description |
---|---|
database:get | Récupère les données de la base de données du projet actif et les affiche au format JSON. Permet d'interroger des données indexées. |
database:instances:create | Crée une instance de base de données avec un nom d'instance spécifié. Accepte l'option --location pour créer une base de données dans une région spécifiée. Pour connaître les noms de régions à utiliser avec cette option, consultez la section Sélectionner des emplacements pour votre projet.
Si aucune instance de base de données n'existe pour le projet en cours, vous êtes invité à exécuter le flux firebase init pour en créer une.
|
database:instances:list | Répertoriez toutes les instances de base de données de ce projet. Accepte l'option --location pour lister les bases de données dans une région spécifiée. Pour connaître les noms de régions à utiliser avec cette option, consultez la section Sélectionner des zones géographiques pour votre projet. |
database:profile | Crée un profil des opérations sur la base de données du projet actif. Pour en savoir plus, consultez les types d'opérations Realtime Database. |
database:push | Transfère de nouvelles données vers une liste à un emplacement spécifié dans la base de données du projet actif. Lit l'entrée à partir d'un fichier, de STDIN ou d'un argument de ligne de commande. |
database:remove | Supprime toutes les données à un emplacement spécifié dans la base de données du projet actif. |
database:set | Remplace toutes les données à un emplacement spécifié dans la base de données du projet actif. Lit l'entrée à partir d'un fichier, de STDIN ou d'un argument de ligne de commande. |
database:update | Effectue une mise à jour partielle à un emplacement spécifié dans la base de données du projet actif. Lit l'entrée à partir d'un fichier, de STDIN ou d'un argument de ligne de commande. |
Commandes Remote Config
Commande | Description |
---|---|
remoteconfig:versions:list \ --limit NUMBER_OF_VERSIONS |
Répertorie les dix versions les plus récentes du modèle. Spécifiez 0 pour renvoyer toutes les versions existantes, ou transmettez éventuellement l'option --limit pour limiter le nombre de versions renvoyées. |
remoteconfig:get \ --v, version_number VERSION_NUMBER --o, output FILENAME |
Récupère le modèle par version (la dernière version est utilisée par défaut) et affiche les groupes de paramètres, les paramètres, les noms de conditions et la version dans un tableau. Vous pouvez éventuellement écrire la sortie dans un fichier spécifié avec -o, FILENAME . |
remoteconfig:rollback \ --v, version_number VERSION_NUMBER --force |
Rétablit le modèle Remote Config à un numéro de version précédent spécifié ou par défaut à la version précédente immédiate (version actuelle -1). Sauf si --force est transmis, l'invite Y/N s'affiche avant le rollback. |