Referencia de Firebase CLI

Firebase CLI ( GitHub ) proporciona una variedad de herramientas para administrar, ver e implementar en proyectos de Firebase.

Antes de usar Firebase CLI, configura un proyecto de Firebase .

Configurar o actualizar la CLI

Instale la CLI de Firebase

Puedes instalar Firebase CLI usando un método que coincida con tu sistema operativo, nivel de experiencia y/o caso de uso. Independientemente de cómo instale la CLI, tendrá acceso a la misma funcionalidad y al comando firebase .

WindowsMacOSLinux _ _

ventanas

Puede instalar Firebase CLI para Windows usando una de las siguientes opciones:

Opción Descripción Recomendado para...
binario independiente Descargue el binario independiente para la CLI. Luego, puede acceder al ejecutable para abrir un shell donde puede ejecutar el comando firebase . Nuevos desarrolladores

Desarrolladores que no utilizan o no están familiarizados con Node.js
npm Utilice npm (el Administrador de paquetes de nodo) para instalar la CLI y habilitar el comando firebase disponible globalmente. Desarrolladores que utilizan Node.js

binario independiente

Para descargar y ejecutar el binario para Firebase CLI, siga estos pasos:

  1. Descargue el binario de Firebase CLI para Windows .

  2. Acceda al binario para abrir un shell donde puede ejecutar el comando firebase .

  3. Continúe iniciando sesión y probando la CLI .

npm

Para usar npm (el Administrador de paquetes de nodo) para instalar Firebase CLI, siga estos pasos:

  1. Instale Node.js usando nvm-windows (el Administrador de versiones de Node). La instalación de Node.js instala automáticamente las herramientas de comando npm .

  2. Instale Firebase CLI a través de npm ejecutando el siguiente comando:

    npm install -g firebase-tools

    Este comando habilita el comando firebase disponible globalmente.

  3. Continúe iniciando sesión y probando la CLI .

macOS o Linux

Puedes instalar Firebase CLI para macOS o Linux usando una de las siguientes opciones:

Opción Descripción Recomendado para...
script de instalación automática Ejecute un único comando que detecte automáticamente su sistema operativo, descargue la última versión de CLI y luego habilite el comando firebase disponible globalmente. Nuevos desarrolladores

Desarrolladores que no utilizan o no están familiarizados con Node.js

Implementaciones automatizadas en un entorno CI/CD
binario independiente Descargue el binario independiente para la CLI. Luego, puede configurar y ejecutar el binario para adaptarlo a su flujo de trabajo. Flujos de trabajo totalmente personalizables mediante la CLI
npm Utilice npm (el Administrador de paquetes de nodo) para instalar la CLI y habilitar el comando firebase disponible globalmente. Desarrolladores que utilizan Node.js

script de instalación automática

Para instalar Firebase CLI mediante el script de instalación automática, siga estos pasos:

  1. Ejecute el siguiente comando cURL:

    curl -sL https://firebase.tools | bash

    Este script detecta automáticamente su sistema operativo, descarga la última versión de Firebase CLI y luego habilita el comando firebase disponible globalmente.

  2. Continúe iniciando sesión y probando la CLI .

Para obtener más ejemplos y detalles sobre el script de instalación automática, consulte el código fuente del script en firebase.tools .

binario independiente

Para descargar y ejecutar el binario de Firebase CLI específico para su sistema operativo, siga estos pasos:

  1. Descargue el binario de Firebase CLI para su sistema operativo: macOS | linux

  2. (Opcional) Configure el comando firebase disponible globalmente.

    1. Haga que el binario sea ejecutable ejecutando chmod +x ./firebase_tools .
    2. Agregue la ruta del binario a su RUTA.
  3. Continúe iniciando sesión y probando la CLI .

npm

Para usar npm (el Administrador de paquetes de nodo) para instalar Firebase CLI, siga estos pasos:

  1. Instale Node.js usando nvm (el Administrador de versiones de Node).
    La instalación de Node.js instala automáticamente las herramientas de comando npm .

  2. Instale Firebase CLI a través de npm ejecutando el siguiente comando:

    npm install -g firebase-tools

    Este comando habilita el comando firebase disponible globalmente.

  3. Continúe iniciando sesión y probando la CLI .

Inicie sesión y pruebe Firebase CLI

Después de instalar la CLI, debe autenticarse. Luego puede confirmar la autenticación enumerando sus proyectos de Firebase.

  1. Inicie sesión en Firebase con su cuenta de Google ejecutando el siguiente comando:

    firebase login

    Este comando conecta su máquina local a Firebase y le otorga acceso a sus proyectos de Firebase.

  2. Pruebe que la CLI esté instalada correctamente y acceda a su cuenta enumerando sus proyectos de Firebase. Ejecute el siguiente comando:

    firebase projects:list

    La lista mostrada debe ser la misma que la de los proyectos de Firebase enumerados en Firebase console .

Actualizar a la última versión de CLI

Generalmente, desea utilizar la versión más actualizada de Firebase CLI.

La forma de actualizar la versión de la CLI depende de su sistema operativo y de cómo instaló la CLI.

ventanas

Mac OS

  • script de instalación automática : ejecute curl -sL https://firebase.tools | upgrade=true bash
  • binario independiente : descargue la nueva versión y luego reemplácela en su sistema
  • npm : ejecuta npm install -g firebase-tools

linux

  • script de instalación automática : ejecute curl -sL https://firebase.tools | upgrade=true bash
  • binario independiente : descargue la nueva versión y luego reemplácela en su sistema
  • npm : ejecuta npm install -g firebase-tools

Utilice la CLI con sistemas CI

Firebase CLI requiere un navegador para completar la autenticación, pero la CLI es totalmente compatible con CI y otros entornos sin cabeza.

  1. En una máquina con un navegador, instale Firebase CLI .

  2. Inicie el proceso de inicio de sesión ejecutando el siguiente comando:

    firebase login:ci
  3. Visite la URL proporcionada y luego inicie sesión con una cuenta de Google.

  4. Imprima un nuevo token de actualización . La sesión CLI actual no se verá afectada.

  5. Guarde el token de salida de forma segura pero accesible en su sistema de CI.

  6. Utilice este token cuando ejecute comandos firebase . Puede utilizar cualquiera de las siguientes dos opciones:

    • Opción 1: almacenar el token como la variable de entorno FIREBASE_TOKEN . Su sistema utilizará automáticamente el token.

    • Opción 2: ejecute todos los comandos firebase con el indicador --token TOKEN en su sistema CI.
      Este es el orden de precedencia para la carga de tokens: bandera, variable de entorno, proyecto de Firebase deseado.

Inicializar un proyecto de Firebase

Muchas tareas comunes realizadas con la CLI, como la implementación en un proyecto de Firebase, requieren un directorio de proyecto . Estableces un directorio de proyecto usando el comando firebase init . Un directorio de proyecto suele ser el mismo directorio que la raíz de control de código fuente y, después de ejecutar firebase init , el directorio contiene un archivo de configuración firebase.json .

Para inicializar un nuevo proyecto de Firebase, ejecuta el siguiente comando desde el directorio de tu aplicación:

firebase init

El comando firebase init lo guía a través de la configuración del directorio de su proyecto y algunos productos de Firebase. Durante la inicialización del proyecto, Firebase CLI le solicita que complete las siguientes tareas:

  • Seleccione los productos de Firebase que desee para configurar en su proyecto de Firebase.

    Este paso le solicita que establezca configuraciones para archivos específicos para los productos seleccionados. Para obtener más detalles sobre estas configuraciones, consulte la documentación del producto específico (por ejemplo, Hosting ). Tenga en cuenta que siempre puede ejecutar firebase init más adelante para configurar más productos de Firebase.

  • Seleccione un proyecto de Firebase predeterminado.

    Este paso asocia el directorio del proyecto actual con un proyecto de Firebase para que los comandos específicos del proyecto (como firebase deploy ) se ejecuten en el proyecto de Firebase apropiado.

    También es posible asociar varios proyectos de Firebase (como un proyecto de prueba y un proyecto de producción) con el mismo directorio de proyectos.

Al final de la inicialización, Firebase crea automáticamente los dos archivos siguientes en la raíz del directorio de su aplicación local:

  • Un archivo de configuración firebase.json que enumera la configuración de su proyecto.

  • Un archivo .firebaserc que almacena los alias de su proyecto.

El archivo firebase.json

El comando firebase init crea un archivo de configuración firebase.json en la raíz del directorio de su proyecto.

El archivo firebase.json es necesario para implementar activos con Firebase CLI porque especifica qué archivos y configuraciones del directorio de su proyecto se implementan en su proyecto de Firebase. Dado que algunas configuraciones se pueden definir en el directorio de su proyecto o en Firebase console, asegúrese de resolver cualquier posible conflicto de implementación .

Puedes configurar la mayoría de las opciones de Firebase Hosting directamente en el archivo firebase.json . Sin embargo, para otros servicios de Firebase que se pueden implementar con Firebase CLI , el comando firebase init crea archivos específicos donde puede definir configuraciones para esos servicios, como un archivo index.js para Cloud Functions. También puede configurar enlaces previos o posteriores a la implementación en el archivo firebase.json .

El siguiente es un ejemplo de archivo firebase.json con configuración predeterminada si selecciona Firebase Hosting, Cloud Firestore y Cloud Functions para Firebase (con el origen de TypeScript y las opciones de lint seleccionadas) durante la inicialización.

{
  "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"
    ]
  }
}

Si bien firebase.json se usa de forma predeterminada, puedes pasar el indicador --config PATH para especificar un archivo de configuración alternativo.

Configuración para múltiples bases de datos de Cloud Firestore

Cuando ejecutas firebase init , tu archivo firebase.json contendrá una única clave firestore correspondiente a la base de datos predeterminada de tu proyecto, como se muestra arriba.

Si su proyecto contiene varias bases de datos de Cloud Firestore, edite su archivo firebase.json para asociar diferentes reglas de seguridad de Cloud Firestore y archivos fuente de índice de base de datos con cada base de datos. Modifique el archivo con una matriz JSON, con una entrada para cada base de datos.

      "firestore": [
        {
          "database": "default",
          "rules": "firestore.default.rules",
          "indexes": "firestore.default.indexes.json"
        },
        {
          "database": "ecommerce",
          "rules": "firestore.ecommerce.rules",
          "indexes": "firestore.ecommerce.indexes.json"
        }
      ],

Archivos de Cloud Functions que se deben ignorar durante la implementación

En el momento de la implementación de la función, la CLI especifica automáticamente una lista de archivos en el directorio functions que se deben ignorar. Esto evita la implementación en el backend de archivos extraños que podrían aumentar el tamaño de los datos de su implementación.

La lista de archivos ignorados por defecto, que se muestra en formato JSON, es:

"ignore": [
  ".git",
  ".runtimeconfig.json",
  "firebase-debug.log",
  "firebase-debug.*.log",
  "node_modules"
]

Si agrega sus propios valores personalizados para ignore en firebase.json , asegúrese de mantener (o agregar, si falta) la lista de archivos que se muestra arriba.

Administrar alias de proyectos

Puedes asociar varios proyectos de Firebase con el mismo directorio de proyectos. Por ejemplo, es posible que desees utilizar un proyecto de Firebase para la preparación y otro para la producción. Al utilizar diferentes entornos de proyecto, puede verificar los cambios antes de implementarlos en producción. El comando firebase use le permite cambiar entre alias y crear nuevos alias.

Agregar un alias de proyecto

Cuando seleccionas un proyecto de Firebase durante la inicialización del proyecto , al proyecto se le asigna automáticamente el alias default . Sin embargo, para permitir que los comandos específicos del proyecto se ejecuten en un proyecto de Firebase diferente pero aún usen el mismo directorio del proyecto, ejecute el siguiente comando desde el directorio de su proyecto:

firebase use --add

Este comando le solicita que seleccione otro proyecto de Firebase y le asigne el proyecto como alias. Las asignaciones de alias se escriben en un archivo .firebaserc dentro del directorio de su proyecto.

Usar alias de proyecto

Para usar alias de proyecto de Firebase asignados, ejecute cualquiera de los siguientes comandos desde el directorio de su proyecto.

Dominio Descripción
firebase use Ver una lista de alias definidos actualmente para el directorio de su proyecto
firebase use \
PROJECT_ID|ALIAS
Dirige todos los comandos para que se ejecuten en el proyecto de Firebase especificado.
La CLI utiliza este proyecto como el "proyecto activo" actualmente.
firebase use --clear Borra el proyecto activo.

Ejecute firebase use PROJECT_ID|ALIAS para configurar un nuevo proyecto activo antes de ejecutar otros comandos CLI.

firebase use \
--unalias PROJECT_ALIAS
Elimina un alias del directorio de su proyecto.

Puede anular lo que se está utilizando como proyecto actualmente activo pasando el indicador --project con cualquier comando CLI. Como ejemplo: puede configurar su CLI para que se ejecute en un proyecto de Firebase al que le haya asignado el alias staging . Si desea ejecutar un solo comando en el proyecto de Firebase al que le asignó el alias prod , puede ejecutar, por ejemplo, firebase deploy --project=prod .

Control de fuente y alias de proyecto.

En general, debes registrar tu archivo .firebaserc en el control de código fuente para permitir que tu equipo comparta los alias del proyecto. Sin embargo, para proyectos de código abierto o plantillas de inicio, generalmente no debes registrar tu archivo .firebaserc .

Si tiene un proyecto de desarrollo que es para su uso exclusivo, puede pasar el indicador --project con cada comando o ejecutar firebase use PROJECT_ID sin asignar un alias al proyecto de Firebase.

Sirve y prueba tu proyecto de Firebase localmente

Puedes ver y probar tu proyecto de Firebase en URL alojadas localmente antes de implementarlo en producción. Si solo desea probar funciones seleccionadas, puede usar una lista separada por comas en una bandera en el comando firebase serve .

Ejecute el siguiente comando desde la raíz del directorio de su proyecto local si desea realizar cualquiera de las siguientes tareas:

  • Vea el contenido estático de su aplicación alojada en Firebase.
  • Utilice Cloud Functions para generar contenido dinámico para Firebase Hosting y desee utilizar sus funciones HTTP de producción (implementadas) para emular Hosting en una URL local.
firebase serve --only hosting

Emule su proyecto usando funciones HTTP locales

Ejecute cualquiera de los siguientes comandos desde el directorio de su proyecto para emular su proyecto utilizando funciones HTTP locales .

  • Para emular funciones HTTP y alojamiento para realizar pruebas en URL locales, utilice cualquiera de los siguientes comandos:

    firebase serve
    firebase serve --only functions,hosting // uses a flag
  • Para emular funciones HTTP únicamente, utilice el siguiente comando:

    firebase serve --only functions

Prueba desde otros dispositivos locales

De forma predeterminada, firebase serve solo responde a solicitudes de localhost . Esto significa que podrá acceder a su contenido alojado desde el navegador web de su computadora, pero no desde otros dispositivos en su red. Si desea realizar la prueba desde otros dispositivos locales, utilice el indicador --host , así:

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

Implementar en un proyecto de Firebase

Firebase CLI administra la implementación de código y recursos en su proyecto de Firebase, incluidos:

  • Nuevos lanzamientos de sus sitios de Firebase Hosting
  • Funciones de nube nuevas, actualizadas o existentes para Firebase
  • Reglas para la base de datos en tiempo real de Firebase
  • Reglas de almacenamiento en la nube para Firebase
  • Reglas para Cloud Firestore
  • Índices para Cloud Firestore

Para implementar en un proyecto de Firebase, ejecute el siguiente comando desde el directorio de su proyecto:

firebase deploy

Opcionalmente, puede agregar un comentario a cada una de sus implementaciones. Este comentario se mostrará con el resto de la información de implementación en la página Firebase Hosting de su proyecto. Por ejemplo:

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

Cuando utilice el comando firebase deploy , tenga en cuenta lo siguiente:

  • Para implementar recursos desde un directorio de proyecto, el directorio del proyecto debe tener un archivo firebase.json . Este archivo se crea automáticamente mediante el comando firebase init .

  • De forma predeterminada, firebase deploy crea una versión para todos los recursos implementables en el directorio de su proyecto. Para implementar funciones o servicios específicos de Firebase, utiliza la implementación parcial .

Conflictos de implementación de reglas de seguridad

Para Firebase Realtime Database, Cloud Storage for Firebase y Cloud Firestore, puedes definir reglas de seguridad en el directorio de tu proyecto local o en Firebase console .

Otra opción para evitar conflictos de implementación es utilizar una implementación parcial y definir reglas solo en Firebase console.

Cuotas de implementación

Es posible (aunque poco probable) que superes una cuota que limite la tasa o el volumen de tus operaciones de implementación de Firebase. Por ejemplo, al implementar una gran cantidad de funciones, es posible que reciba un mensaje de error HTTP 429 Quota . Para resolver estos problemas, intente utilizar la implementación parcial .

Revertir una implementación

Puedes revertir una implementación de Firebase Hosting desde la página Firebase Hosting de tu proyecto seleccionando la acción Revertir para la versión deseada.

Actualmente, no es posible revertir versiones de reglas de seguridad para Firebase Realtime Database, Cloud Storage for Firebase o Cloud Firestore.

Implementar servicios específicos de Firebase

Si solo desea implementar funciones o servicios específicos de Firebase, puede usar una lista separada por comas en una marca en el comando firebase deploy . Por ejemplo, el siguiente comando implementa contenido de Firebase Hosting y reglas de seguridad de Cloud Storage.

firebase deploy --only hosting,storage

La siguiente tabla enumera los servicios y funciones disponibles para implementación parcial. Los nombres en las banderas corresponden a las claves en su archivo de configuración firebase.json .

Sintaxis de bandera Servicio o característica implementada
--only hosting Contenido de alojamiento de Firebase
--only database Reglas de la base de datos en tiempo real de Firebase
--only storage Reglas de almacenamiento en la nube para Firebase
--only firestore Reglas e índices de Cloud Firestore para todas las bases de datos configuradas
--only functions Funciones de nube para Firebase (son posibles versiones más específicas de esta bandera )

Implementar funciones específicas

Al implementar funciones, puede apuntar a funciones específicas. Por ejemplo:

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

Otra opción es agrupar funciones en grupos de exportación en su archivo /functions/index.js . La agrupación de funciones le permite implementar múltiples funciones usando un solo comando.

Por ejemplo, puede escribir las siguientes funciones para definir un groupA y un groupB :

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

exports.groupA = {
  function1: functions.https.onRequest(...),
  function2: functions.database.ref('\path').onWrite(...)
}
exports.groupB = require('./groupB');

En este ejemplo, un archivo functions/groupB.js separado contiene funciones adicionales que definen específicamente las funciones en groupB . Por ejemplo:

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

exports.function3 = functions.storage.object().onChange(...);
exports.function4 = functions.analytics.event('in_app_purchase').onLog(...);

En este ejemplo, puede implementar todas las funciones groupA ejecutando el siguiente comando desde el directorio de su proyecto:

firebase deploy --only functions:groupA

O puede apuntar a una función específica dentro de un grupo ejecutando el siguiente comando:

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

Eliminar funciones

Firebase CLI admite los siguientes comandos y opciones para eliminar funciones implementadas previamente:

  • Elimina todas las funciones que coinciden con el nombre especificado en todas las regiones:

    firebase functions:delete FUNCTION-1_NAME

  • Elimina una función especificada que se ejecuta en una región no predeterminada:

    firebase functions:delete FUNCTION-1_NAME --region REGION_NAME

  • Elimina más de una función:

    firebase functions:delete FUNCTION-1_NAME FUNCTION-2_NAME

  • Elimina un grupo de funciones específico:

    firebase functions:delete GROUP_NAME

  • Omite el mensaje de confirmación:

    firebase functions:delete FUNCTION-1_NAME --force

Configurar tareas con script previas y posteriores a la implementación

Puede conectar scripts de shell al comando firebase deploy para realizar tareas previas o posteriores a la implementación. Por ejemplo, una secuencia de comandos previa a la implementación podría transpilar código TypeScript a JavaScript, y un enlace posterior a la implementación podría notificar a los administradores sobre las implementaciones de contenido nuevo del sitio en Firebase Hosting.

Para configurar enlaces previos o posteriores a la implementación, agregue scripts bash a su archivo de configuración firebase.json . Puede definir scripts breves directamente en el archivo firebase.json o puede hacer referencia a otros archivos que se encuentran en el directorio de su proyecto.

Por ejemplo, la siguiente secuencia de comandos es la expresión firebase.json para una tarea posterior a la implementación que envía un mensaje de Slack tras una implementación exitosa en Firebase Hosting.

"hosting": {
  // ...

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

El archivo de script messageSlack.sh reside en el directorio del proyecto y tiene este aspecto:

curl -X POST -H 'Content-type: application/json' --data '{"text":"$1"}'
     \https://SLACK_WEBHOOK_URL

Puede configurar enlaces predeploy y postdeploy para cualquiera de los activos que puede implementar . Tenga en cuenta que la ejecución firebase deploy activa todas las tareas previas y posteriores a la implementación definidas en su archivo firebase.json . Para ejecutar solo aquellas tareas asociadas con un servicio de Firebase específico, use comandos de implementación parcial .

Tanto los ganchos predeploy como los postdeploy imprimen la salida estándar y los flujos de error de los scripts en la terminal. Para casos de falla, tenga en cuenta lo siguiente:

  • Si un enlace previo a la implementación no se completa como se esperaba, se cancela la implementación.
  • Si la implementación falla por algún motivo, los enlaces posteriores a la implementación no se activan.

Variables de entorno

Dentro de los scripts que se ejecutan en los enlaces previos y posteriores a la implementación, están disponibles las siguientes variables de entorno:

  • $GCLOUD_PROJECT : ID del proyecto activo
  • $PROJECT_DIR : el directorio raíz que contiene el archivo firebase.json
  • $RESOURCE_DIR : (Solo para scripts hosting y functions ) La ubicación del directorio que contiene los recursos de Hosting o Cloud Functions que se implementarán

Administrar múltiples instancias de Realtime Database

Un proyecto de Firebase puede tener varias instancias de Firebase Realtime Database . De forma predeterminada, los comandos CLI interactúan con su instancia de base de datos predeterminada .

Sin embargo, puede interactuar con una instancia de base de datos no predeterminada utilizando el --instance DATABASE_NAME . Los siguientes comandos admiten el indicador --instance :

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

Referencia de comando

Comandos administrativos CLI

Dominio Descripción
ayuda Muestra información de ayuda sobre la CLI o comandos específicos.
en eso Asocia y configura un nuevo proyecto de Firebase en el directorio actual. Este comando crea un archivo de configuración firebase.json en el directorio actual.
acceso Autentica la CLI en su cuenta de Firebase. Requiere acceso a un navegador web.
Para iniciar sesión en la CLI en entornos remotos que no permiten el acceso a localhost , utilice el --indicador --no-localhost .
iniciar sesión: ci Genera un token de autenticación para usar en entornos no interactivos.
cerrar sesión Cierra sesión en la CLI de tu cuenta de Firebase.
abierto Abre un navegador a recursos relevantes del proyecto.
proyectos: lista Enumera todos los proyectos de Firebase a los que tiene acceso.
usar Establece el proyecto de Firebase activo para la CLI.
Gestiona los alias del proyecto .

Comandos de gestión de proyectos

Dominio Descripción
Gestión de proyectos de Firebase.
proyectos: addfirebase Agrega recursos de Firebase a un proyecto de Google Cloud existente.
proyectos:crear Crea un nuevo proyecto de Google Cloud y luego agrega recursos de Firebase al nuevo proyecto.
proyectos: lista Enumera todos los proyectos de Firebase a los que tiene acceso.
Gestión de aplicaciones Firebase (iOS, Android, Web)
aplicaciones: crear Crea una nueva aplicación Firebase en el proyecto activo.
aplicaciones: lista Enumera las aplicaciones de Firebase registradas en el proyecto activo.
aplicaciones: sdkconfig Imprime la configuración de los servicios de Google de una aplicación Firebase.
configuración:web Obsoleto. En su lugar, utilice apps:sdkconfig y especifique web como argumento de plataforma.
Imprime la configuración de los servicios de Google de una aplicación web Firebase.
Gestión de hashes de certificados SHA (solo Android)
aplicaciones:android:sha:crear \
FIREBASE_APP_ID SHA_HASH
Agrega el hash del certificado SHA especificado a la aplicación Firebase para Android especificada.
aplicaciones:android:sha:eliminar \
FIREBASE_APP_ID SHA_HASH
Elimina el hash del certificado SHA especificado de la aplicación Firebase para Android especificada.
aplicaciones:android:sha:lista \
FIREBASE_APP_ID
Enumera los hashes del certificado SHA para la aplicación Firebase para Android especificada.

Despliegue y desarrollo local

Estos comandos te permiten implementar e interactuar con tu sitio de Firebase Hosting.

Dominio Descripción
desplegar Implementa código y recursos desde el directorio de su proyecto en el proyecto activo. Para Firebase Hosting, se requiere un archivo de configuración firebase.json .
atender Inicia un servidor web local con su configuración de Firebase Hosting. Para Firebase Hosting, se requiere un archivo de configuración firebase.json .

Comandos de distribución de aplicaciones

Dominio Descripción
distribución de aplicaciones: distribuir \
--aplicación FIREBASE_APP_ID
Hace que la compilación esté disponible para los evaluadores.
distribución de aplicaciones: probadores: agregar Agrega probadores al proyecto.
distribución de aplicaciones: probadores: eliminar Elimina los probadores del proyecto.

Comandos de autenticación (administración de usuarios)

Dominio Descripción
autenticación: exportar Exporta las cuentas de usuario del proyecto activo a un archivo JSON o CSV. Para obtener más detalles, consulte la página auth:import y auth:export .
autenticación: importar Importa las cuentas de usuario desde un archivo JSON o CSV al proyecto activo. Para obtener más detalles, consulte la página auth:import y auth:export .

Comandos de Cloud Firestore

Dominio Descripción
tienda de fuego: ubicaciones

Enumere las ubicaciones disponibles para su base de datos de Cloud Firestore.

firestore: bases de datos: crear DATABASE_ID

Crea una instancia de base de datos en modo nativo en tu proyecto de Firebase.

El comando toma las siguientes banderas:

  • --location <nombre de región> para especificar la ubicación de implementación de la base de datos. Tenga en cuenta que puede ejecutar firebase firestore:locations para enumerar las ubicaciones disponibles. Requerido .
  • --delete-protection <deleteProtectionState> para permitir o evitar la eliminación de la base de datos especificada. Los valores válidos son ENABLED o DISABLED . El valor predeterminado es DISABLED .
  • --point-in-time-recovery <PITRState> para establecer si la recuperación a un momento dado está habilitada. Los valores válidos son ENABLED o DISABLED . El valor predeterminado es DISABLED . Opcional.
firestore: bases de datos: lista

Enumere las bases de datos en su proyecto de Firebase.

firestore: bases de datos: obtener DATABASE_ID

Obtenga la configuración de la base de datos para una base de datos específica en su proyecto de Firebase.

firestore: bases de datos: actualizar DATABASE_ID

Actualice la configuración de la base de datos de una base de datos específica en su proyecto de Firebase.

Se requiere al menos una bandera. El comando toma las siguientes banderas:

  • --delete-protection <deleteProtectionState> para permitir o evitar la eliminación de la base de datos especificada. Los valores válidos son ENABLED o DISABLED . El valor predeterminado es DISABLED .
  • --point-in-time-recovery <PITRState> para establecer si la recuperación a un momento dado está habilitada. Los valores válidos son ENABLED o DISABLED . El valor predeterminado es DISABLED . Opcional.
firestore: bases de datos: eliminar DATABASE_ID

Elimina una base de datos en tu proyecto de Firebase.

firestore: índices

Enumere los índices de una base de datos en su proyecto de Firebase.

El comando toma la siguiente bandera:

  • --database DATABASE_ID para especificar el nombre de la base de datos para la cual enumerar los índices. Si no se proporcionan, se enumeran los índices para la base de datos predeterminada.
tienda de fuego: eliminar

Elimina documentos en la base de datos del proyecto activo. Con la CLI, puede eliminar de forma recursiva todos los documentos de una colección.

Tenga en cuenta que eliminar datos de Cloud Firestore con la CLI genera costos de lectura y eliminación. Para obtener más información, consulte Comprender la facturación de Cloud Firestore .

El comando toma la siguiente bandera:

  • --database DATABASE_ID para especificar el nombre de la base de datos de la que se eliminan los documentos. Si no se especifica, los documentos se eliminan de la base de datos predeterminada. Opcional.

Funciones de nube para comandos de Firebase

Dominio Descripción
funciones:config:clonar Clona el entorno de otro proyecto en el proyecto activo de Firebase.
funciones:config:obtener Recupera los valores de configuración existentes de Cloud Functions del proyecto activo.
funciones: configuración: establecer Almacena los valores de configuración del tiempo de ejecución de Cloud Functions del proyecto activo.
funciones:config:desarmado Elimina valores de la configuración de tiempo de ejecución del proyecto activo.
funciones: iniciar sesión Lee registros de Cloud Functions implementadas.

Para obtener más información, consulte la documentación de configuración del entorno .

Comandos de Crashlytics

Dominio Descripción
crashlytics:mappingfile:generateid \
--resource-file= PATH/TO/ANDROID_RESOURCE.XML
Genera un ID de archivo de mapeo único en el archivo de recursos de Android (XML) especificado.
crashlytics:archivo de mapeo:cargar \
--aplicación= FIREBASE_APP_ID \
--resource-file= PATH/TO/ANDROID_RESOURCE.XML \
PATH/TO/MAPPING_FILE.TXT
Carga un archivo de mapeo (TXT) compatible con Proguard para esta aplicación y lo asocia con el ID del archivo de mapeo declarado en el archivo de recursos de Android (XML) especificado.
crashlytics:símbolos:cargar \
--aplicación= FIREBASE_APP_ID \
PATH/TO/SYMBOLS
Genera un archivo de símbolos compatible con Crashlytics para fallas de la biblioteca nativa en Android y lo carga en los servidores de Firebase.

Comandos de extensiones

Dominio Descripción
extensión Muestra información sobre cómo usar los comandos de Firebase Extensions.
Enumera las instancias de extensión instaladas en el proyecto activo.
text:configurar\
EXTENSION_INSTANCE_ID
Reconfigura los valores de los parámetros de una instancia de extensión en su manifiesto de extensión .
text:información\
PUBLISHER_ID/EXTENSION_ID
Imprime información detallada sobre una extensión.
ext:instalar\
PUBLISHER_ID/EXTENSION_ID
Agrega una nueva instancia de una extensión en su manifiesto de extensión .
ext: lista Enumera todas las instancias de extensión instaladas en un proyecto de Firebase.
Imprime el ID de instancia para cada extensión.
ext:desinstalar\
EXTENSION_INSTANCE_ID
Elimina una instancia de extensión de su manifiesto de extensión .
ext:actualizar\
EXTENSION_INSTANCE_ID
Actualiza una instancia de extensión a la última versión en su manifiesto de extensión .
ext:exportar Exporta todas las instancias de extensión instaladas desde su proyecto a su manifiesto de extensión .

Comandos del editor de extensiones

Dominio Descripción
ext:dev:inicio Inicializa una base de código esqueleto para una nueva extensión en el directorio actual.
text:dev:lista \
PUBLISHER_ID
Imprime una lista de todas las extensiones cargadas por un editor.
ext:desarrollo:registro Registra un proyecto de Firebase como proyecto de editor de extensiones .
text:dev:obsoleto \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Desaproba las versiones de extensión que coinciden con el predicado de la versión.
Un predicado de versión puede ser una única versión (como 1.0.0 ) o un rango de versiones (como >1.0.0 ).
Si no se proporciona ningún predicado de versión, desaprueba todas las versiones de esa extensión.
ext:dev:no desaprobado \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Desaprobamos las versiones de extensión que coinciden con el predicado de versión.
Un predicado de versión puede ser una única versión (como 1.0.0 ) o un rango de versiones (como >1.0.0 ).
Si no se proporciona ningún predicado de versión, todas las versiones de esa extensión quedan obsoletas.
text:dev:cargar \
PUBLISHER_ID/EXTENSION_ID
Carga una nueva versión de una extensión.
text:dev:uso \
PUBLISHER_ID
Muestra recuentos de instalaciones y métricas de uso de extensiones cargadas por un editor.

Comandos de alojamiento

Dominio Descripción
alojamiento: deshabilitar

Deja de brindar tráfico de Firebase Hosting para el proyecto de Firebase activo.

La URL de alojamiento de su proyecto mostrará el mensaje "Sitio no encontrado" después de ejecutar este comando.

Gestión de sitios de Hosting
alojamiento de base de fuego: sitios: crear \
SITE_ID

Crea un nuevo sitio de Hosting en el proyecto activo de Firebase usando el SITE_ID especificado.

(Opcional) Especifique una aplicación web de Firebase existente para asociarla con el nuevo sitio pasando la siguiente marca: --app FIREBASE_APP_ID

alojamiento de base de fuego: sitios: eliminar \
SITE_ID

Elimina el sitio de hosting especificado

La CLI muestra un mensaje de confirmación antes de eliminar el sitio.

(Opcional) Omita el mensaje de confirmación pasando las siguientes banderas: -f o --force

alojamiento de base de fuego: sitios: obtener \
SITE_ID

Recupera información sobre el sitio de alojamiento especificado.

alojamiento de base de fuego: sitios: lista

Enumera todos los sitios de hosting para el proyecto Firebase activo

Gestión de canales de vista previa.
alojamiento de base de fuego: canal: crear \
CHANNEL_ID

Crea un nuevo canal de vista previa en el sitio de alojamiento predeterminado utilizando el CHANNEL_ID especificado

Este comando no se implementa en el canal.

alojamiento de base de fuego: canal: eliminar \
CHANNEL_ID

Elimina el canal de vista previa especificado

No puede eliminar el canal en vivo de un sitio.

alojamiento de base de fuego: canal: implementar \
CHANNEL_ID

Implementa el contenido y la configuración de tu hosting en el canal de vista previa especificado.

Si el canal de vista previa aún no existe, este comando crea el canal en el sitio de alojamiento predeterminado antes de implementarlo en el canal.

alojamiento de base de fuego: canal: lista Enumera todos los canales (incluido el canal "en vivo") en el sitio de alojamiento predeterminado
alojamiento de base de fuego: canal: abierto \
CHANNEL_ID
Abre un navegador en la URL del canal especificado o devuelve la URL si no es posible abrir en un navegador
Clonación de versiones
alojamiento de base de fuego: clonar \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Clona la versión implementada más recientemente en el canal "origen" especificado en el canal "destino" especificado

Este comando también se implementa en el canal "destino" especificado. Si el canal "destino" aún no existe, este comando crea un nuevo canal de vista previa en el sitio de alojamiento "destino" antes de implementarlo en el canal.

alojamiento de base de fuego: clonar \
SOURCE_SITE_ID : @ VERSION_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Clona la versión especificada en el canal "destino" especificado

Este comando también se implementa en el canal "destino" especificado. Si el canal "destino" aún no existe, este comando crea un nuevo canal de vista previa en el sitio de alojamiento "destino" antes de implementarlo en el canal.

Puede encontrar VERSION_ID en el panel de Hosting de Firebase console.

Comandos de bases de datos en tiempo real

Tenga en cuenta que puede crear su instancia inicial predeterminada de Realtime Database en Firebase console o utilizando el flujo de trabajo general firebase init o el flujo firebase init database específico.

Una vez creadas las instancias, puede administrarlas como se explica en Administrar varias instancias de Realtime Database .

Dominio Descripción
base de datos: obtener Obtiene datos de la base de datos del proyecto activo y los muestra como JSON. Admite consultas sobre datos indexados.
base de datos: instancias: crear Crea una instancia de base de datos con un nombre de instancia especificado. Acepta la opción --location para crear una base de datos en una región específica. Para conocer los nombres de las regiones que se pueden utilizar con esta opción, consulte Seleccionar ubicaciones para su proyecto . Si no existe ninguna instancia de base de datos para el proyecto actual, se le solicitará que ejecute el flujo firebase init para crear una instancia.
base de datos:instancias:lista Enumere todas las instancias de bases de datos para este proyecto. Acepta la opción --location para enumerar bases de datos en una región específica. Para conocer los nombres de las regiones que se pueden usar con esta opción, consulte Seleccionar ubicaciones para su proyecto .
base de datos: perfil Crea un perfil de operaciones en la base de datos del proyecto activo. Para obtener más detalles, consulte Tipos de operaciones de bases de datos en tiempo real .
base de datos: empujar Envía nuevos datos a una lista en una ubicación especificada en la base de datos del proyecto activo. Toma información de un archivo, STDIN o un argumento de línea de comandos.
base de datos: eliminar Elimina todos los datos en una ubicación especificada en la base de datos del proyecto activo.
base de datos: conjunto Reemplaza todos los datos en una ubicación especificada en la base de datos del proyecto activo. Toma información de un archivo, STDIN o un argumento de línea de comandos.
base de datos: actualización Realiza una actualización parcial en una ubicación especificada en la base de datos del proyecto activo. Toma información de un archivo, STDIN o un argumento de línea de comandos.

Comandos de configuración remota

Dominio Descripción
remoteconfig:versiones:lista \
--limitar NUMBER_OF_VERSIONS
Enumera las diez versiones más recientes de la plantilla. Especifique 0 para devolver todas las versiones existentes u, opcionalmente, pase la opción --limit para limitar el número de versiones que se devuelven.
configuración remota: obtener \
--v, número_versión VERSION_NUMBER
--o, salida FILENAME
Obtiene la plantilla por versión (de forma predeterminada, la última versión) y genera los grupos de parámetros, los parámetros y los nombres de condiciones y la versión en una tabla. Opcionalmente, puede escribir la salida en un archivo específico con -o, FILENAME .
configuración remota: revertir \
--v, número_versión VERSION_NUMBER
--fuerza
Revierte la plantilla de Remote Config a un número de versión anterior especificado o de forma predeterminada a la versión anterior inmediata (versión actual -1). A menos que se pase --force , aparecerá Y/N antes de proceder a la reversión.