Référence de la CLI Firebase

La CLI Firebase ( GitHub ) fournit une variété d'outils pour gérer, visualiser et déployer sur 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 qui correspond à votre système d'exploitation, votre niveau d'expérience et/ou votre cas d'utilisation. Quelle que soit la façon dont vous installez la CLI, vous avez accès aux mêmes fonctionnalités et à la commande firebase .

WindowsMacOSLinux _ _

les fenêtres

Vous pouvez installer Firebase CLI pour Windows à l'aide de l'une des options suivantes :

Option Description Recommandé pour...
binaire autonome Téléchargez le binaire autonome pour la CLI. Ensuite, vous pouvez accéder à l'exécutable pour ouvrir un shell dans lequel vous pouvez exécuter la commande firebase . Nouveaux développeurs

Développeurs n’utilisant pas ou peu familiers avec Node.js
npm Utilisez npm (le 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 pour la CLI Firebase, procédez comme suit :

  1. Téléchargez le binaire Firebase CLI pour Windows .

  2. Accédez au binaire pour ouvrir un shell dans lequel vous pouvez exécuter la commande firebase .

  3. Continuez à vous connecter et testez la CLI .

npm

Pour utiliser npm (le gestionnaire de packages de nœuds) pour installer la CLI Firebase, procédez comme suit :

  1. Installez Node.js à l'aide de nvm-windows (le gestionnaire de versions de Node). L'installation de Node.js installe automatiquement les outils de commande npm .

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

  3. Continuez à vous connecter et testez 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 n’utilisant pas ou peu familiers avec Node.js

Déploiements automatisés dans un environnement CI/CD
binaire autonome Téléchargez le binaire autonome pour la CLI. Ensuite, vous pouvez configurer et exécuter le binaire en fonction de votre flux de travail. Flux de travail entièrement personnalisables à l'aide de la CLI
npm Utilisez npm (le 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 :

  1. 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 Firebase CLI, puis active la commande firebase disponible dans le monde entier.

  2. Continuez à vous connecter et testez la CLI .

Pour plus d'exemples et de détails sur le script d'installation automatique, reportez-vous au 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 système d'exploitation, procédez comme suit :

  1. Téléchargez le binaire Firebase CLI pour votre système d'exploitation : macOS | Linux

  2. (Facultatif) Configurez la commande firebase disponible globalement.

    1. Rendez l'exécutable binaire en exécutant chmod +x ./firebase_tools .
    2. Ajoutez le chemin du binaire à votre PATH.
  3. Continuez à vous connecter et testez la CLI .

npm

Pour utiliser npm (le gestionnaire de packages de nœuds) pour installer la CLI Firebase, procédez comme suit :

  1. Installez Node.js à l'aide de nvm (le gestionnaire de versions de Node).
    L'installation de Node.js installe automatiquement les outils de commande npm .

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

  3. Continuez à vous connecter et testez la CLI .

Connectez-vous et testez la CLI Firebase

Après avoir installé la CLI, vous devez vous authentifier. Vous pouvez ensuite confirmer l'authentification en répertoriant vos projets Firebase.

  1. Connectez-vous à Firebase à l'aide de votre compte Google en exécutant la commande suivante :

    firebase login

    Cette commande connecte votre machine locale à Firebase et vous donne accès à vos projets Firebase.

  2. Testez que la CLI est correctement installée et accédez à votre compte en répertoriant vos projets Firebase. Exécutez la commande suivante :

    firebase projects:list

    La liste affichée doit être la même que celle des projets Firebase répertoriés dans la console Firebase .

Mise à jour vers la dernière version CLI

En règle générale, vous souhaitez utiliser la version Firebase CLI la plus récente.

La manière dont vous mettez à jour la version CLI dépend de votre système d’exploitation et de la manière dont vous avez installé la CLI.

les fenêtres

macOS

  • script d'installation automatique : Exécutez curl -sL https://firebase.tools | upgrade=true bash
  • binaire autonome : téléchargez la nouvelle version , puis remplacez-la sur votre système
  • npm : Exécutez npm install -g firebase-tools

Linux

  • script d'installation automatique : Exécutez curl -sL https://firebase.tools | upgrade=true bash
  • binaire autonome : téléchargez la nouvelle version , puis remplacez-la sur votre système
  • npm : Exécutez 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 la CLI est entièrement compatible avec CI et d'autres environnements sans tête.

  1. Sur une machine dotée d'un navigateur, installez la CLI Firebase .

  2. Démarrez le processus de connexion en exécutant la commande suivante :

    firebase login:ci
  3. Visitez l'URL fournie, puis connectez-vous à l'aide d'un compte Google.

  4. Imprimez un nouveau jeton d'actualisation . La session CLI actuelle ne sera pas affectée.

  5. Stockez le jeton de sortie de manière sécurisée mais accessible dans votre système CI.

  6. Utilisez ce jeton lors de l'exécution de 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'indicateur --token TOKEN dans votre système CI.
      Voici l'ordre de priorité pour le chargement des jetons : indicateur, variable d'environnement, projet Firebase souhaité.

Initialiser un projet Firebase

De nombreuses tâches courantes effectuées à l'aide de la CLI, telles que le déploiement sur 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 répertoire que la racine de votre contrôle de code source, et 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 depuis le répertoire de votre application :

firebase init

La commande firebase init vous guide dans 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 plus de détails sur ces configurations, reportez-vous à la documentation spécifique du produit (par exemple, Hébergement ). Notez que vous pouvez toujours exécuter firebase init plus tard pour configurer davantage de produits Firebase.

  • Sélectionnez un projet Firebase par défaut.

    Cette étape associe le répertoire du projet actuel à un projet Firebase afin que les commandes spécifiques au projet (comme firebase deploy ) s'exécutent sur le projet Firebase approprié.

    Il est également possible d' associer plusieurs projets Firebase (tels qu'un projet intermédiaire et un projet de production) au même répertoire de projet.

A la fin de l'initialisation, Firebase crée automatiquement les deux fichiers suivants à la racine du répertoire de votre application locale :

  • Un fichier de configuration firebase.json qui répertorie la configuration de votre projet.

  • Un 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 à la racine du répertoire de votre projet.

Le fichier firebase.json est requis pour déployer des actifs avec la CLI Firebase, car il spécifie quels fichiers et paramètres de votre répertoire de projet sont déployés sur 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 tout conflit de déploiement potentiel.

Vous pouvez configurer la plupart des options d'hébergement Firebase directement dans le fichier firebase.json . Cependant, pour les autres services Firebase pouvant être déployés avec Firebase CLI , la commande firebase init crée des fichiers spécifiques dans lesquels vous pouvez définir les paramètres de ces services, comme un fichier index.js pour Cloud Functions. Vous pouvez également configurer des hooks de pré-déploiement ou de post-déploiement dans le fichier firebase.json .

Voici un exemple de fichier firebase.json avec les paramètres par défaut si vous sélectionnez Firebase Hosting, Cloud Firestore et Cloud Functions pour Firebase (avec les options de source TypeScript et de lint 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 contiendra une seule clé firestore correspondant à la base de données par défaut de votre projet, comme indiqué ci-dessus.

Si votre projet contient plusieurs bases de données Cloud Firestore, modifiez votre fichier firebase.json pour associer différentes règles de sécurité Cloud Firestore et fichiers sources d'index de base de données à 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 du répertoire functions à ignorer. Cela empêche le déploiement sur le backend de fichiers superflus qui pourraient augmenter la taille des données de votre déploiement.

La liste des fichiers ignorés par défaut, affichée au format JSON, est la suivante :

"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 , assurez-vous de conserver (ou d'ajouter, si elle est manquante) la liste des fichiers affichée ci-dessus.

Gérer les alias du projet

Vous pouvez associer plusieurs projets Firebase au même répertoire de projet. Par exemple, vous souhaiterez peut-être utiliser un projet Firebase pour la préparation 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 les alias et de créer de nouveaux alias.

Ajouter un alias de projet

Lorsque vous sélectionnez un projet Firebase lors de l'initialisation du projet , le projet se voit automatiquement attribuer l'alias par default . Cependant, pour permettre aux commandes spécifiques au projet de s'exécuter 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 à attribuer le projet comme alias. Les attributions d'alias sont écrites dans un fichier .firebaserc dans le répertoire de votre projet.

Utiliser les alias du projet

Pour utiliser les alias de projet Firebase attribués, exécutez l'une des commandes suivantes à partir du répertoire de votre projet.

Commande Description
firebase use Afficher une liste des alias actuellement définis pour le répertoire de votre projet
firebase use \
PROJECT_ID|ALIAS
Ordonne à toutes les commandes d'être exécutées sur le projet Firebase spécifié.
La CLI utilise ce projet comme « projet actif » actuellement.
firebase use --clear Efface le projet actif.

Exécutez firebase use PROJECT_ID|ALIAS pour définir un nouveau projet actif avant d'exécuter d'autres commandes CLI.

firebase use \
--unalias PROJECT_ALIAS
Supprime un alias du répertoire de votre projet.

Vous pouvez remplacer ce qui est utilisé comme projet actuellement actif en passant l'indicateur --project avec n'importe quelle commande CLI. À titre d'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, firebase deploy --project=prod .

Contrôle de source et alias de projet

En général, vous devez vérifier votre fichier .firebaserc dans le contrôle de source pour permettre à votre équipe de partager les alias de projet. Cependant, pour les projets open source ou les modèles de démarrage, vous ne devez généralement pas archiver votre fichier .firebaserc .

Si vous avez un projet de développement réservé à votre usage exclusif, vous pouvez soit transmettre l'indicateur --project avec chaque commande, soit exécuter firebase use PROJECT_ID sans attribuer d'alias au projet Firebase.

Servez et testez votre projet Firebase localement

Vous pouvez afficher et tester votre projet Firebase sur des URL hébergées localement avant de le déployer en production. Si vous souhaitez uniquement tester certaines fonctionnalités, vous pouvez utiliser une liste séparée par des virgules dans un indicateur de la commande firebase serve .

Exécutez la commande suivante à partir de la racine du répertoire de votre projet local si vous souhaitez effectuer l'une des tâches suivantes :

  • Affichez le contenu statique de votre application hébergée sur Firebase.
  • 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 l'hébergement sur une URL locale.
firebase serve --only hosting

Émulez 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 HTTP et l'hébergement à 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

Test à 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é depuis le navigateur Web de votre ordinateur, mais pas depuis d'autres appareils de votre réseau. Si vous souhaitez tester à partir d'autres appareils locaux, utilisez l'option --host , comme ceci :

firebase serve --host 0.0.0.0  // accepts requests to any host

Déployer sur un projet Firebase

La CLI Firebase gère le déploiement du code et des ressources sur votre projet Firebase, notamment :

  • Nouvelles versions de vos sites Firebase Hosting
  • Fonctions Cloud Functions nouvelles, mises à jour ou existantes pour Firebase
  • Règles pour la base de données en temps réel Firebase
  • Règles de stockage cloud pour Firebase
  • Règles pour Cloud Firestore
  • Index pour Cloud Firestore

Pour déployer sur un projet Firebase, exécutez la commande suivante à partir du répertoire de votre projet :

firebase deploy

Vous pouvez éventuellement ajouter un commentaire à chacun de vos déploiements. Ce commentaire s'affichera avec les autres informations de déploiement sur la page d'hébergement Firebase de votre projet. Par exemple:

firebase deploy -m "Deploying the best new feature ever."

Lorsque vous utilisez la commande firebase deploy , tenez compte des points suivants :

  • Pour déployer des ressources à partir d'un répertoire de projet, le répertoire du projet doit avoir un fichier firebase.json . Ce fichier est automatiquement créé pour vous par la commande firebase 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 des 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 pour Firebase et Cloud Firestore, vous pouvez définir des règles de sécurité soit dans le répertoire de votre projet local, soit dans la console Firebase .

Une autre option pour éviter les conflits de déploiement consiste à utiliser un déploiement partiel et à définir uniquement des règles dans la console Firebase.

Quotas de déploiement

Il est possible (bien que peu probable) que vous dépassiez un quota qui limite le taux ou le volume de vos opérations de déploiement Firebase. Par exemple, lors du déploiement d'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 le déploiement partiel .

Annuler un déploiement

Vous pouvez restaurer un déploiement Firebase Hosting à partir de la page Firebase Hosting de votre projet en sélectionnant l'action Rollback pour la version souhaitée.

Il n'est actuellement pas possible d'annuler les versions des 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 souhaitez uniquement déployer 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 un déploiement partiel. Les noms dans les indicateurs correspondent aux clés de votre fichier de configuration firebase.json .

Syntaxe des indicateurs Service ou fonctionnalité déployé
--only hosting Contenu de l'hébergement Firebase
--only database Règles de base de données en temps réel Firebase
--only storage Règles Cloud Storage pour Firebase
--only firestore Règles et index Cloud Firestore pour toutes les bases de données configurées
--only functions Fonctions Cloud pour Firebase ( des versions plus spécifiques de cet indicateur sont possibles)

Déployer des fonctions spécifiques

Lors du déploiement de fonctions, vous pouvez cibler des fonctions spécifiques. Par exemple:

firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2

Une autre option consiste à regrouper les fonctions en 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');

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 de groupB . Par exemple:

var functions = require('firebase-functions');

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 depuis le répertoire de votre projet :

firebase deploy --only functions:groupA

Vous pouvez également cibler une fonction spécifique au sein d'un groupe en exécutant la commande suivante :

firebase deploy --only functions:groupA.function1,groupB.function4

Supprimer des fonctions

La CLI Firebase prend en charge les commandes et options suivantes pour supprimer les fonctions précédemment déployées :

  • Supprime toutes les fonctions qui correspondent 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

  • Contourne l'invite de confirmation :

    firebase functions:delete FUNCTION-1_NAME --force

Configurer des tâches scriptées avant et après le déploiement

Vous pouvez connecter des scripts shell à la commande firebase deploy pour effectuer des tâches de pré-déploiement ou de post-déploiement. Par exemple, un script de pré-déploiement pourrait transpiler le code TypeScript en JavaScript, et un hook de post-déploiement pourrait informer les administrateurs du déploiement d'un nouveau contenu de site sur Firebase Hosting.

Pour configurer des hooks de pré-déploiement ou de post-déploiement, ajoutez des scripts bash à votre fichier de configuration firebase.json . Vous pouvez définir de brefs scripts directement dans le fichier firebase.json ou référencer d'autres fichiers qui se trouvent dans le répertoire de votre projet.

Par exemple, le script suivant est l'expression firebase.json pour une tâche post-déploiement qui envoie un message Slack en cas de déploiement réussi sur Firebase Hosting.

"hosting": {
  // ...

  "postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
  "public": "public"
}

Le fichier de script messageSlack.sh réside dans le répertoire du projet et ressemble à ceci :

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 actifs que vous pouvez déployer . Notez que l'exécution firebase deploy déclenche toutes les tâches de pré-déploiement et de post-déploiement définies dans votre fichier firebase.json . Pour exécuter uniquement les tâches associées à un service Firebase spécifique, utilisez les commandes de déploiement partiel .

Les hooks predeploy et postdeploy impriment la sortie standard et les flux d’erreurs des scripts sur le terminal. En cas d'échec, notez les points suivants :

  • Si un hook de pré-déploiement ne parvient pas à se terminer comme prévu, le déploiement est annulé.
  • Si le déploiement échoue pour une raison quelconque, les hooks de 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 post-déploiement, les variables d'environnement suivantes sont disponibles :

  • $GCLOUD_PROJECT : L'ID du projet actif
  • $PROJECT_DIR : Le répertoire racine contenant le fichier firebase.json
  • $RESOURCE_DIR : (Pour les scripts hosting et functions uniquement) L'emplacement du répertoire qui contient les ressources d'hébergement ou de fonctions Cloud à déployer

Gérer plusieurs instances de base de données en temps réel

Un projet Firebase peut avoir plusieurs instances de Firebase Realtime Database . Par défaut, les commandes CLI interagissent avec votre instance de base de données par défaut .

Cependant, vous pouvez interagir avec une instance de base de données autre que celle par défaut en utilisant l'option --instance DATABASE_NAME . Les commandes suivantes prennent en charge l'indicateur --instance :

  • firebase database:get
  • firebase database:profile
  • firebase database:push
  • firebase database:remove
  • firebase database:set
  • firebase database:update

Référence de commande

Commandes d'administration CLI

Commande Description
aide Affiche des informations d'aide sur la CLI ou des commandes spécifiques.
initialisation 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 courant.
se connecter Authentifie la CLI sur votre compte Firebase. Nécessite l'accès à un navigateur Web.
Pour vous connecter à la CLI dans des environnements distants qui n'autorisent pas l'accès à localhost , utilisez le --no-localhost indicateur.
connexion:ci Génère un jeton d'authentification à utiliser dans des environnements non interactifs.
Se déconnecter Déconnecte la CLI de votre compte Firebase.
ouvrir Ouvre un navigateur vers les ressources de projet pertinentes.
projets:liste 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 du projet .

Commandes de gestion de projet

Commande Description
Gestion de projets Firebase
projets:addfirebase Ajoute des ressources Firebase à un projet Google Cloud existant.
projets:créer Crée un nouveau projet Google Cloud, puis ajoute des ressources Firebase au nouveau projet.
projets:liste Répertorie tous les projets Firebase auxquels vous avez accès.
Gestion des applications Firebase (iOS, Android, Web)
applications:créer Crée une nouvelle application Firebase dans le projet actif.
applications:liste Répertorie les applications Firebase enregistrées dans le projet actif.
applications:sdkconfig Imprime la configuration des services Google d'une application Firebase.
configuration:Web Obsolète. Utilisez plutôt apps:sdkconfig et spécifiez web comme argument de plateforme.
Imprime la configuration des services Google d'une application Web Firebase.
Gestion des hachages de certificats SHA (Android uniquement)
applications:android:sha:créer \
FIREBASE_APP_ID SHA_HASH
Ajoute le hachage du certificat SHA spécifié à l'application Android Firebase spécifiée.
applications:android:sha:supprimer \
FIREBASE_APP_ID SHA_HASH
Supprime le hachage du certificat SHA spécifié de l'application Android Firebase spécifiée.
applications:android:sha:liste \
FIREBASE_APP_ID
Répertorie les hachages de certificat 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 d'hébergement Firebase.

Commande Description
déployer Déploie le code et les ressources de votre répertoire de projet vers le projet actif. Pour Firebase Hosting, un fichier de configuration firebase.json est requis.
servir Démarre un serveur Web local avec votre configuration d'hébergement Firebase. Pour Firebase Hosting, un fichier de configuration firebase.json est requis.

Commandes de distribution d'applications

Commande Description
appdistribution:distribuer \
--app FIREBASE_APP_ID
Rend la version disponible aux testeurs.
distribution d'applications:testeurs:ajouter Ajoute des testeurs au projet.
appdistribution:testeurs:supprimer Supprime les testeurs du projet.

Commandes d'authentification (gestion des utilisateurs)

Commande Description
authentification:exportation Exporte les comptes d'utilisateurs du projet actif vers un fichier JSON ou CSV. Pour plus de détails, reportez-vous à la page auth:import et auth:export .
authentification:importation Importe les comptes d'utilisateurs d'un fichier JSON ou CSV dans le projet actif. Pour plus de détails, reportez-vous à la page auth:import et auth:export .

Commandes Cloud Firestore

Commande Description
firestore:emplacements

Répertoriez les emplacements disponibles pour votre base de données Cloud Firestore.

firestore: bases de données: créer DATABASE_ID

Créez une instance de base de données en mode natif dans votre projet Firebase.

La commande prend les indicateurs suivants :

  • --location <region name> pour spécifier l'emplacement de déploiement de la base de données. Notez que vous pouvez exécuter Firebase Firestore:locations pour répertorier les emplacements disponibles. Requis .
  • --delete-protection <deleteProtectionState> pour autoriser ou empêcher la suppression de la base de données spécifiée. Les valeurs valides sont ENABLED ou DISABLED . La valeur par défaut est DISABLED .
  • --point-in-time-recovery <PITRState> pour définir si la récupération à un moment précis est activée. Les valeurs valides sont ENABLED ou DISABLED . La valeur par défaut est DISABLED . Facultatif.
firestore: bases de données: liste

Répertoriez les bases de données de votre projet Firebase.

firestore: bases de données: obtenir 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: bases de données: mettre à jour 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.

Au moins un drapeau est requis. La commande prend les indicateurs suivants :

  • --delete-protection <deleteProtectionState> pour autoriser ou empêcher la suppression de la base de données spécifiée. Les valeurs valides sont ENABLED ou DISABLED . La valeur par défaut est DISABLED .
  • --point-in-time-recovery <PITRState> pour définir si la récupération à un moment précis est activée. Les valeurs valides sont ENABLED ou DISABLED . La valeur par défaut est DISABLED . Facultatif.
firestore: bases de données: supprimer DATABASE_ID

Supprimez une base de données dans votre projet Firebase.

firestore:index

Répertoriez les index d'une base de données dans votre projet Firebase.

La commande prend le flag suivant :

  • --database DATABASE_ID pour spécifier le nom de la base de données pour laquelle répertorier les index. S’ils ne sont pas fournis, les index sont répertoriés pour la base de données par défaut.
firestore: supprimer

Supprime les documents dans 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 des données Cloud Firestore avec la CLI entraîne des coûts de lecture et de suppression. Pour plus d'informations, consultez Comprendre la facturation Cloud Firestore .

La commande prend le flag suivant :

  • --database DATABASE_ID pour spécifier le nom de la base de données à partir de laquelle les documents sont supprimés. S'il n'est pas spécifié, les documents sont supprimés de la base de données par défaut. Facultatif.

Fonctions Cloud pour les commandes Firebase

Commande Description
fonctions:config:clone Clone l'environnement d'un autre projet dans le projet Firebase actif.
fonctions:config:get Récupère les valeurs de configuration existantes des fonctions Cloud du projet actif.
fonctions:config:set Stocke les valeurs de configuration d'exécution des fonctions Cloud du projet actif.
fonctions:config:non défini Supprime les valeurs de la configuration d'exécution du projet actif.
fonctions:journal Lit les journaux des fonctions Cloud déployées.

Pour plus d'informations, reportez-vous à la documentation de configuration de l'environnement .

Commandes Crashlytics

Commande Description
crashlytics:fichier de mappage: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:fichier de mappage:télécharger \
--app= FIREBASE_APP_ID \
--resource-file= PATH/TO/ANDROID_RESOURCE.XML \
PATH/TO/MAPPING_FILE.TXT
Télécharge un fichier de mappage (TXT) compatible 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:symboles:upload \
--app= FIREBASE_APP_ID \
PATH/TO/SYMBOLS
Génère un fichier de symboles compatible Crashlytics pour les plantages de bibliothèque native sur Android et le télécharge sur les serveurs Firebase.

Commandes d'extensions

Commande Description
poste Affiche des informations sur l'utilisation des commandes des extensions Firebase.
Répertorie les instances d'extension installées dans le projet actif.
poste : configurer \
EXTENSION_INSTANCE_ID
Reconfigure les valeurs des paramètres d'une instance d'extension dans votre manifeste d'extension .
poste : infos \
PUBLISHER_ID/EXTENSION_ID
Imprime des informations détaillées sur une extension.
poste : installer \
PUBLISHER_ID/EXTENSION_ID
Ajoute une nouvelle instance d'une extension dans votre manifeste d'extension .
poste: liste Répertorie toutes les instances d'extension installées dans un projet Firebase.
Imprime l'ID d'instance pour chaque extension.
poste : désinstaller \
EXTENSION_INSTANCE_ID
Supprime une instance d'extension de votre manifeste d'extension .
poste : mise à jour \
EXTENSION_INSTANCE_ID
Met à jour une instance d'extension vers la dernière version de votre manifeste d'extension .
poste:exporter Exporte toutes les instances d'extension installées de votre projet vers votre manifeste d'extension .

Commandes de l'éditeur d'extensions

Commande Description
poste: dev: init Initialise une base de code squelette pour une nouvelle extension dans le répertoire actuel.
ext:dev:liste \
PUBLISHER_ID
Imprime une liste de toutes les extensions téléchargées par un éditeur.
ext: dev: s'inscrire Enregistre un projet Firebase en tant que projet d'éditeur d'extensions .
ext:dev:obsolète \
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 version unique (telle que 1.0.0 ) ou une plage de versions (telle que >1.0.0 ).
Si aucun prédicat de version n’est fourni, rend obsolète toutes les versions de cette extension.
ext:dev:undeprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Annule la dépréciation des versions d'extension qui correspondent au prédicat de version.
Un prédicat de version peut être une version unique (telle que 1.0.0 ) ou une plage de versions (telle que >1.0.0 ).
Si aucun prédicat de version n’est fourni, annule la dépréciation de toutes les versions de cette extension.
ext:dev:télécharger \
PUBLISHER_ID/EXTENSION_ID
Télécharge une nouvelle version d'une extension.
ext:dev:utilisation \
PUBLISHER_ID
Affiche le nombre d'installations et les mesures d'utilisation pour les extensions téléchargées par un éditeur.

Commandes d'hébergement

Commande Description
hébergement:désactiver

Arrête de diffuser le trafic d'hébergement Firebase pour le projet Firebase actif.

L'URL d'hébergement de votre projet affichera un message « Site introuvable » après l'exécution de cette commande.

Gestion des sites d'hébergement
hébergement Firebase: sites: créer \
SITE_ID

Crée un nouveau site d'hébergement dans le projet Firebase actif en utilisant le SITE_ID spécifié

(Facultatif) Spécifiez une application Web Firebase existante à associer au nouveau site en transmettant l'indicateur suivant : --app FIREBASE_APP_ID

hébergement Firebase: sites: supprimer \
SITE_ID

Supprime le site d'hébergement 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 : -f ou --force

hébergement Firebase: sites: obtenir \
SITE_ID

Récupère des informations sur le site d'hébergement spécifié

hébergement Firebase: sites: liste

Répertorie tous les sites d'hébergement pour le projet Firebase actif

Gestion des chaînes de prévisualisation
hébergement Firebase : canal : créer \
CHANNEL_ID

Crée un nouveau canal d'aperçu 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.

hébergement Firebase : canal : supprimer \
CHANNEL_ID

Supprime le canal de prévisualisation spécifié

Vous ne pouvez pas supprimer la chaîne en direct d'un site.

hébergement Firebase : canal : déploiement \
CHANNEL_ID

Déploie votre contenu d'hébergement et votre configuration sur le canal de prévisualisation spécifié

Si le canal d'aperçu 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.

hébergement Firebase: canal: liste Répertorie toutes les chaînes (y compris la chaîne « en direct ») dans le site d'hébergement par défaut
hébergement Firebase : canal : ouvert \
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
Clonage de versions
hébergement Firebase : clone \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Clones la version la plus récemment déployée sur le canal "source" spécifié sur le canal "cible" spécifié

Cette commande se déplace également sur le canal "cible" spécifié. Si le canal "Target" n'existe pas encore, cette commande crée un nouveau canal d'aperçu dans le site d'hébergement "Target" avant de se déployer sur le canal.

Hébergement de la base de feu: clone \
SOURCE_SITE_ID : @ VERSION_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Clones la version spécifiée au canal "cible" spécifié

Cette commande se déplace également sur le canal "cible" spécifié. Si le canal "cible" n'existe pas encore, cette commande crée un nouveau canal d'aperçu dans le site d'hébergement "cible" avant de se déployer sur la chaîne.

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

Commandes de base de données en temps réel

Notez que vous pouvez créer votre instance de base de données initiale en temps réel par défaut dans la console Firebase ou en utilisant le flux de travail General firebase init ou le flux firebase init database spécifique.

Une fois les instances créées, vous pouvez les gérer comme discuté dans Gérer plusieurs instances de base de données en temps réel .

Commande Description
base de données: obtenir Répondance aux données de la base de données du projet Active et l'affiche en JSON. Prend en charge l'interrogation sur les données indexées.
Base de données: instances: créer 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 les noms de région à utiliser avec cette option, consultez les emplacements sélectionnés pour votre projet . Si aucune instance de base de données n'existe pour le projet actuel, vous êtes invité à exécuter le firebase init Flow pour créer une instance.
Base de données: instances: liste Énumérez toutes les instances de base de données pour ce projet. Accepte l'option --location pour la liste des bases de données dans une région spécifiée. Pour les noms de région à utiliser avec cette option, voir les emplacements sélectionnés pour votre projet .
base de données: profil Créez un profil d'opérations sur la base de données du projet Active. Pour plus de détails, reportez-vous aux types de fonctions de base de données en temps réel .
Base de données: pousser Pousse de nouvelles données sur une liste dans un emplacement spécifié dans la base de données du projet actif. Prend les entrées d'un fichier, de stdin ou d'un argument de ligne de commande.
Base de données: supprimer Supprime toutes les données à un emplacement spécifié dans la base de données du projet actif.
base de données: définir Remplace toutes les données à un emplacement spécifié dans la base de données du projet actif. Prend les entrées d'un fichier, de stdin ou d'un argument de ligne de commande.
Base de données: mise à jour Effectue une mise à jour partielle à un emplacement spécifié dans la base de données du projet actif. Prend les entrées d'un fichier, de stdin ou d'un argument de ligne de commande.

Commandes de configuration distantes

Commande Description
RemoteConfig: Versions: Liste \
- Limit NUMBER_OF_VERSIONS
Répertorie les dix versions les plus récentes du modèle. Spécifiez 0 pour retourner toutes les versions existantes, ou éventuellement passer l'option --limit pour limiter le nombre de versions renvoyées.
RemoteConfig: Get \
--v, version_number VERSION_NUMBER
--o, FILENAME de sortie
Obtient le modèle par version (par défaut la dernière version) et publie les groupes de paramètres, les paramètres et les noms de condition et la version dans une table. Facultativement, vous pouvez écrire la sortie dans un fichier spécifié avec -o, FILENAME .
RemoteConfig: Rollback \
--v, version_number VERSION_NUMBER
--forcer
Retourne le modèle de configuration distante à un numéro de version précédente spécifiée ou par défaut à la version précédente immédiate (version actuelle -1). Sauf si --force est adoptée, invite Y / N avant de passer à Rollback.