Documentation de référence de la CLI Firebase

La CLI Firebase (GitHub) fournit une 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 qui correspond à votre système d'exploitation le système, le niveau d'expérience et/ou le cas d'utilisation. Quelle que soit la méthode d'installation CLI, vous avez accès à la même fonctionnalité et à la commande firebase.

Windows macOS Linux

Windows

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

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 ou qui ne connaissent pas Node.js
npm Utiliser npm (Node Package Manager) pour installer la CLI et activer la commande firebase disponible dans le monde entier. Les développeurs qui utilisent Node.js

binaire autonome

Pour télécharger et exécuter le binaire de la CLI Firebase, procédez comme suit :

  1. Téléchargez le Binaire de la CLI Firebase pour Windows

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

  3. Poursuivez pour vous connecter et tester la CLI.

npm

Pour utiliser npm (le gestionnaire de packages de nœuds) afin d'installer le Firebase, procédez comme suit:

  1. Installez Node.js avec nvm-windows (l'outil de gestion de versions des nœuds). 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. Connectez-vous 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 commande unique qui détecte automatiquement votre système d'exploitation, télécharge la dernière version de la CLI, puis active la version firebase. 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 pour la CLI. Vous pouvez ensuite configurer et exécuter le binaire selon votre workflow. Workflows entièrement personnalisables à l'aide de la CLI
npm Utiliser npm (Node Package Manager) pour installer la CLI et activer la commande firebase disponible dans le monde entier. Les développeurs qui utilisent Node.js

script d'installation automatique

Pour installer la CLI Firebase à l'aide du script d'installation automatique, procédez comme suit : 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 la CLI Firebase, puis active la commande firebase disponible dans le monde entier.

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

Télécharger et exécuter le binaire spécifique à la CLI Firebase pour pour votre système d'exploitation, procédez comme suit:

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

  2. (Facultatif) Configurez la commande firebase disponible dans le monde entier.

    1. Rendez le binaire exécutable en exécutant chmod +x ./firebase_tools.
    2. Ajoutez le chemin d'accès du binaire PATH.
  3. Connectez-vous et testez la CLI.

npm

Pour utiliser npm (le gestionnaire de paquets Node) pour installer la CLI Firebase, procédez comme suit :

  1. Installez Node.js à l'aide de nvm (Node Version Manager).
    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. Connectez-vous et testez 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.

  1. Connectez-vous à Firebase avec votre compte Google en exécutant la commande suivante : commande:

    firebase login

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

  2. Vérifiez que la CLI est correctement installée et qu'elle accède à votre compte en procédant comme suit : pour lister vos projets Firebase. Exécutez la commande suivante :

    firebase projects:list

    La liste affichée doit être identique à celle des projets Firebase répertoriés dans la console Firebase.

Passer à la dernière version de la CLI

En règle générale, il est préférable d'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

  • binaire autonome: téléchargez le nouveau , puis remplacez-le sur votre système
  • npm: exécutez npm install -g firebase-tools.

macOS

  • Script d'installation automatique: exécutez curl -sL https://firebase.tools | upgrade=true bash
  • binaire autonome: téléchargez le nouveau , puis remplacez-le 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 le nouveau , puis remplacez-le 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 elle est entièrement compatible avec le CI et d'autres environnements headless.

  1. Sur une machine avec un navigateur, Installez la CLI Firebase.

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

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

  4. Imprimer une nouvelle jeton d'actualisation. La session CLI en cours ne sera pas affectée.

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

  6. Utilisez ce jeton lors de l'exécution de commandes firebase. Vous pouvez utiliser l'un des deux les 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 la commande --token TOKEN dans votre système CI.
      Il s'agit de l'ordre de priorité pour le chargement des jetons: option, environnement du 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 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 comme racine de contrôle des sources. Après avoir exécuté firebase init, contenant une configuration firebase.json .

Pour initialiser un nouveau projet Firebase, exécutez la commande suivante depuis votre 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 invite à effectuer les tâches suivantes:

  • Sélectionnez les produits Firebase de votre choix à 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 d'un produit spécifique (par exemple, Hosting). Notez que vous devez vous pourrez 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 actuel du projet à un projet Firebase. que les commandes spécifiques au projet (telles que firebase deploy) s'exécutent le projet Firebase approprié.

    Il est également possible de associer plusieurs projets Firebase (un projet de préproduction et un projet de production, par exemple) dans le même projet .

À la fin de l'initialisation, Firebase crée automatiquement les deux à la racine du répertoire local de votre application:

  • Un fichier de configuration firebase.json qui répertorie 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 firebase.json à 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 d'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, par exemple un fichier index.js pour Cloud Functions. Vous pouvez configurez également des hooks de prédéploiement ou de post-dé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 d'autres Cloud Firestore Security Rules et d'index de base de données avec chaque base de données. Modifiez le fichier avec une 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"
        }
      ],

Cloud Functions fichiers à ignorer lors du déploiement

Au moment du déploiement de la fonction, la CLI spécifie automatiquement une liste des fichiers à ignorer dans le répertoire functions. 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, affichée 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, assurez-vous veillez à conserver (ou à ajouter, si elle est manquante) la liste des fichiers 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 les alias et créer de nouveaux alias.

Ajouter un alias de projet

Si vous sélectionnez un projet Firebase pendant la gestion d'initialisation, le projet est automatiquement a attribué l'alias de default. Toutefois, pour autoriser les commandes spécifiques à un projet s'exécutent sur un autre projet Firebase, tout en continuant à utiliser le même projet ; exécutez la commande suivante à partir du répertoire de votre projet:

firebase use --add

Cette commande vous invite à sélectionner un autre projet Firebase et à lui attribuer projet en tant qu'alias. Les attributions d'alias sont écrites dans un fichier .firebaserc qu'il contient 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 dans 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 \
PROJECT_ID|ALIAS
Dirige toutes les commandes à s'exécuter sur le projet Firebase spécifié.
La CLI utilise ce projet comme projet actuellement "actif".
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 ignorer le projet actuellement actif en transmettant l'option --project par n'importe quelle commande CLI. Par exemple: vous pouvez définir votre CLI pour s'exécuter sur un projet Firebase auquel vous avez attribué le rôle staging un alias. Si vous souhaitez exécuter une commande unique sur le projet Firebase que vous avez attribué à l'alias prod, vous pouvez exécuter, par exemple, firebase deploy --project=prod

Contrôle des sources et alias de projet

En général, vous devez vérifier votre fichier .firebaserc dans le contrôle du code source pour permettent à votre équipe de partager des alias de projet. Toutefois, pour les projets Open Source ou de démarrage rapide, n'enregistrez généralement pas votre fichier .firebaserc.

Si vous avez un projet de développement exclusivement destiné à votre usage, vous pouvez transmettre l'option --project avec chaque commande ou exécutez firebase use PROJECT_ID sans attribuer d'alias à le projet Firebase.

Diffuser et tester votre projet Firebase localement

Vous pouvez afficher et tester votre projet Firebase sur des URL hébergées localement avant le le déploiement 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 une option 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 :

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 à l'aide de fonctions HTTP locales.

  • Pour émuler les fonctions HTTP et l'hébergement à des fins de test sur des URL locales, utilisez des commandes suivantes:

    firebase serve
    firebase serve --only functions,hosting // uses a flag
  • Pour émuler des fonctions HTTP uniquement, utilisez la commande suivante:

    firebase serve --only functions

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é depuis le navigateur Web de votre ordinateur, mais pas depuis d'autres appareils de votre réseau. Si vous souhaitez effectuer un test à partir 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 :

  • Nouveautés de vos sites Firebase Hosting
  • Cloud Functions for Firebase nouvelle, mise à jour ou existante
  • 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 éventuellement 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, 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 créé automatiquement 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 fonctionnalités Firebase spécifiques, Utiliser un 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 votre projet local Console Firebase

Une autre option pour éviter les conflits de déploiement consiste à utiliser un déploiement partiel et ne définir que des règles dans le Console Firebase.

Quotas de déploiement

Il est possible (mais peu probable) que vous dépassiez un quota limitant le taux ou le volume de vos opérations de déploiement Firebase. Par exemple, lorsque déployant un très grand nombre de fonctions, vous pouvez recevoir une réponse HTTP 429 Quota s'affiche. Pour résoudre ces problèmes, essayez d'utiliser un déploiement partiel.

Effectuer le rollback d'un déploiement

Vous pouvez effectuer un rollback de Firebase Hosting Firebase Hosting en sélectionnant l'action Rollback pour la version souhaitée.

Il n'est actuellement pas possible d'effectuer un rollback des 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 ne souhaitez déployer que des services ou fonctionnalités Firebase spécifiques, vous pouvez utiliser un d'une liste d'éléments séparés par une virgule dans une option de la commande firebase deploy. Par exemple, la commande suivante déploie le contenu Firebase Hosting et Règles de sécurité Cloud Storage.

firebase deploy --only hosting,storage

Le tableau suivant répertorie les services et les fonctionnalités disponibles pour le déploiement. Les noms des indicateurs correspondent aux clés de votre fichier de configuration firebase.json.

Syntaxe de l'indicateur Service ou fonctionnalité déployé
--only hosting Contenu Firebase Hosting
--only database Firebase Realtime Database règles
--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 cette option 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

Une autre option consiste à regrouper les fonctions en groupes d'exportation dans votre /functions/index.js. Les fonctions de regroupement vous permettent 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 éléments fonctions 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 à partir du répertoire de votre projet:

firebase deploy --only functions:groupA

Vous pouvez également cibler une fonction spécifique dans un groupe en exécutant la commande suivante : commande:

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 s'exécutant 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 à l'aide de scripts de prédéploiement et post-déploiement

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

Pour configurer des hooks de prédéploiement ou de post-déploiement, ajoutez des scripts bash à votre firebase.json. Vous pouvez définir de courts scripts directement dans le fichier firebase.json, ou vous pouvez faire référence à d'autres qui se trouvent 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 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 se trouve dans le répertoire du projet et ressemble comme 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 n'importe quel é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 post-déploiement définies dans votre 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 fichier firebase.json
  • $RESOURCE_DIR : (pour les scripts hosting et functions uniquement) : emplacement du répertoire contenant le Hosting ou Cloud Functions ressources à déployer

Gérer plusieurs instances Realtime Database

Un projet Firebase peut comporter plusieurs instances Firebase Realtime Database. Par les commandes CLI interagissent avec votre instance de base de données default.

Cependant, vous pouvez interagir avec une instance de base de données autre que celle par défaut à l'aide de la --instance DATABASE_NAME. La Les commandes suivantes sont compatibles avec l'option --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 d'administration 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 firebase.json de configuration Terraform dans le répertoire actuel.
login Il authentifie la CLI dans votre compte Firebase. Nécessite l'accès à un un navigateur Web.
Pour se connecter à la CLI dans des environnements distants qui n’autorisent pas l’accès à localhost, utilisez --no-localhost ; .
login:ci Génère un jeton d'authentification à utiliser dans des environnements non interactifs.
déconnexion Déconnecte la CLI de votre compte Firebase.
ouvrir Ouvre un navigateur pour accéder aux ressources pertinentes du projet.
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 projets

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 à le nouveau 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 Affiche 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 du certificat SHA spécifié au certificat Application Android pour Firebase.
apps:android:sha:delete \
FIREBASE_APP_ID SHA_HASH
Supprime le hachage de certificat SHA spécifié de l'entrée Application Android pour Firebase.
apps:android:sha:list \
FIREBASE_APP_ID
Liste les hachages de certificat SHA pour les Application Android pour Firebase.

Déploiement et développement local

Ces commandes vous permettent de déployer votre site Firebase Hosting et d'interagir avec celui-ci.

Commande Description
déployer Déploie le code et les composants de votre répertoire de projet sur l'instance projet. Pour Firebase Hosting, un firebase.json est requis.
servir Démarre un serveur Web local avec votre configuration Firebase Hosting. Pour Firebase Hosting, un firebase.json est requis.

Commandes App Distribution

Commande Description
appdistribution:distribute \
--app FIREBASE_APP_ID
Rend le build accessible aux 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 \
--projet PROJECT_ID
--location REGION --app APP_ID
Crée l'ensemble des ressources gérées associées à un codebase unique. qui comprend un backend App Hosting. Vous pouvez éventuellement spécifier un Application Web Firebase par son ID d'application Firebase.
apphosting:backends:get \ BACKEND_ID
--projet PROJECT_ID
--lieu REGION
Récupère des détails spécifiques, y compris l'URL publique, d'un backend.
apphosting:backends:list \
--projet PROJECT_ID
Récupère la liste de tous les backends actifs associés à un projet.
firebase apphosting:backends:delete. BACKEND_ID
--projet PROJECT_ID
--lieu REGION
Supprime un backend du projet.
apphosting:secrets:set \
KEY --project PROJECT_ID
--location REGION --data-file Data file
Stocke les secrets dans Secret Manager. Vous pouvez éventuellement fournir un chemin d'accès à partir duquel lire les données secrètes. Définir sur _ pour lire à partir d'une entrée standard.
apphosting:secrets:grantaccess \
KEY --projet PROJECT_ID BACKEND_ID
--lieu REGION
Accorde au backend compte de service au secret fourni pour qu'il soit accessible App Hosting au moment de la compilation ou de l'exécution.
apphosting:secrets:describe \
KEY --projet 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. Par défaut, il accède à la dernière version.

Commandes Authentication (gestion des utilisateurs)

Commande Description
auth:exportation Exporte les comptes utilisateur du projet actif vers un fichier JSON ou CSV. Pour consultez les auth:import et auth:export .
auth:importer Importe les comptes utilisateur à partir d'un fichier JSON ou CSV dans la projet. Pour en savoir plus, consultez la page auth:import et auth:export.

Commandes Cloud Firestore

Commande Description
firestore:locations

Listez les 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 :

  • --location <nom de la région> pour spécifier la l'emplacement de déploiement de la base de données. Notez que vous pouvez exécuter firebase firestore:locations pour lister les emplacements disponibles. Obligatoire.
  • --delete-protection <deleteProtectionState> pour autoriser ou empêcher la suppression de la base de données spécifiée. Valeurs valides sont ENABLED ou DISABLED. La valeur par défaut est DISABLED
  • --point-in-time-recovery <PITRState> pour indiquer 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:databases:list

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

firestore:databases:get DATABASE_ID

Obtenez la configuration de base de données d'une base de données spécifiée dans votre projet Firebase.

firestore:databases:update DATABASE_ID

Mettez à jour la configuration d'une base de données spécifiée dans votre projet Firebase.

Veuillez indiquer au moins un indicateur. La commande accepte les options suivantes :

  • --delete-protection <deleteProtectionState> pour autoriser ou non la suppression de la base de données spécifiée. Valeurs valides sont ENABLED ou DISABLED. La valeur par défaut est DISABLED
  • --point-in-time-recovery <PITRState> pour indiquer 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:databases:delete 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 utilise l'option suivante:

  • --database DATABASE_ID sur spécifier le nom de la base de données pour laquelle vous souhaitez répertorier les index. Si ce paramètre n'est pas fourni, les index sont listés pour la base de données par défaut.
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 Comprendre la facturation Cloud Firestore

La commande utilise l'option suivante:

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

Commandes Cloud Functions for Firebase

Commande Description
functions:config:clone Il clone l'environnement d'un autre projet dans l'environnement Firebase actif. projet.
functions:config:get Récupère les valeurs de configuration existantes du Cloud Functions
functions:config:set Stocke les valeurs de configuration de l'environnement d'exécution des Cloud Functions
functions:config:unset Supprime les valeurs de la configuration d'exécution du projet actif.
functions:log Lit les journaux à partir du Cloud Functions déployé.

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 la ressource Android spécifiée. (XML).
crashlytics:mappingfile:upload \
--app=FIREBASE_APP_ID \
--resource-file=PATH/TO/ANDROID_RESOURCE.XML \
PATH/TO/MAPPING_FILE.TXT
Il importe un fichier de mappage (TXT) compatible avec ProGuard pour cette application. et l'associe à l'ID du fichier de mappage déclaré dans le Fichier de ressource Android (XML).
crashlytics:symbols:upload \
--app=FIREBASE_APP_ID \
PATH/TO/SYMBOLS
Génère un fichier de symboles compatible avec Crashlytics pour la bibliothèque native plante sur Android et l'importe sur les serveurs Firebase.

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:configurer \
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
Affiche des informations détaillées sur une extension.
ext:installation \
PUBLISHER_ID/EXTENSION_ID
Ajoute une nouvelle instance d'une extension dans votre fichier manifeste de l'extension.
ext:liste Répertorie toutes les instances d'extension installées dans un projet Firebase.
Affiche l'ID d'instance pour chaque extension.
ext:désinstaller \
EXTENSION_INSTANCE_ID
Supprime une instance d'extension de votre fichier manifeste de l'extension.
ext:mise à jour \
EXTENSION_INSTANCE_ID
Met à jour une instance d'extension vers la dernière version dans votre fichier manifeste de l'extension.
ext:exportation Exporte toutes les instances d'extension installées depuis votre projet vers votre fichier manifeste de l'extension.

Commandes d'éditeur Extensions

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:abandon \
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 (par exemple, 1.0.0). ou une plage de versions (par exemple, >1.0.0).
Si aucun prédicat de version n'est fourni, abandonne toutes les versions de cette extension.
ext:dev:undeprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Reste obsolète qui correspondent au prédicat de version.
Un prédicat de version peut être une version unique (par exemple, 1.0.0). ou une plage de versions (par exemple, >1.0.0).
Si aucun prédicat de version n'est fourni, annule l'obsolescence de toutes les versions de cette extension.
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 pour les 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.

L'URL Hosting de votre projet affichera le message "Site introuvable" message après avoir exécuté cette commande.

Gestion de Hosting sites
firebase Hosting:sites:create \
SITE_ID

Crée un site Hosting dans le projet Firebase actif à l'aide de la SITE_ID spécifié

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

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 la méthode Options suivantes: -f ou --force

firebase Hosting:sites:get \
SITE_ID

Récupère des informations sur le site Hosting spécifié.

firebase Hosting:sites:list

Répertorie les Hosting sites 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'CHANNEL_ID spécifié.

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

firebase Hosting:channel:delete \
CHANNEL_ID

Supprime le canal d'aperçu spécifié

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

firebase Hosting:channel:deploy \
CHANNEL_ID

Déploie votre contenu et votre configuration Hosting sur le version preview

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

firebase Hosting:channel:list Liste toutes les chaînes (y compris la chaîne "en direct") des Site par défaut Hosting
firebase Hosting:channel:open \
CHANNEL_ID
Ouvre l'URL de la chaîne spécifiée dans un navigateur 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

Il clone la dernière version déployée sur la "source" spécifiée. à la "cible" spécifiée canal

Cette commande est également déployée sur la "cible" spécifiée canal. Si le "cible" n'existe pas encore, cette commande crée prévisualiser le canal dans la "cible" Hosting site avant le déploiement 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 la "cible" spécifiée canal. Si la chaîne "cible" n'existe pas encore, cette commande crée une chaîne d'aperçu sur le site Hosting "cible" avant de la déployer sur la chaîne.

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

Commandes Realtime Database

Notez que vous pouvez créer votre instance Realtime Database initiale par défaut dans le Firebase ou à l'aide de la commande firebase init générale le workflow de ML firebase init database.

Une fois les instances créées, vous pouvez les gérer comme indiqué dans Gérez 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 sous la forme JSON. Permet d'interroger des données indexées.
database:instances:create Crée une instance de base de données avec le nom d'instance spécifié. Accepte l'option --location pour créer une base de données dans un dans la même région. Pour connaître les noms des régions à utiliser avec cette option, consultez Sélectionnez des emplacements pour votre projet. Si aucune instance de base de données n'existe pour le projet actuel, un message vous demande pour exécuter le flux firebase init afin de créer une instance.
database:instances:list Répertoriez toutes les instances de base de données de ce projet. Accepte les Option --location permettant de répertorier les bases de données dans un dans la même région. Pour connaître le nom des régions à utiliser avec cette option, consultez Sélectionnez des emplacements pour votre projet.
database:profile Crée un profil des opérations sur la base de données du projet actif. Pour consultez Types d'opérations Realtime Database.
database:push Transfère les nouvelles données vers une liste, à un emplacement spécifié de la couche la base de données du projet. 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 le bucket du projet actif base de données.
database:set Remplace toutes les données à un emplacement spécifié dans le base de données. 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 la base de données du projet. Reçoit les entrées d'un fichier, de STDIN ou d'une ligne de commande .

Commandes Remote Config

Commande Description
remoteconfig:versions:list \
--limit NUMBER_OF_VERSIONS
Liste 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, numéro_version VERSION_NUMBER
--o, sortie FILENAME
Récupère le modèle par version (la dernière version par défaut est utilisée). et génère les groupes de paramètres, les paramètres, les noms de condition et dans une table. 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.