Firebase CLI (GitHub) proporciona una variedad de herramientas para administrar, implementar y visualizar en proyectos de Firebase.
Antes de usar Firebase CLI, configura un proyecto de Firebase.
Configura o actualiza la CLI
Instala la CLI de Firebase.
Puedes instalar Firebase CLI con un método que coincida con tu sistema operativo, nivel de experiencia o caso de uso. Sin importar cómo la instales,
tendrás acceso a las mismas funciones y al comando firebase
.
Windows
Puedes instalar Firebase CLI para Windows con una de las siguientes opciones:
Opción | Descripción | Casos recomendados |
---|---|---|
objeto binario independiente | Descarga el objeto binario independiente de la CLI. Luego, accede al ejecutable para abrir un shell en el que podrás ejecutar el comando firebase .
|
Desarrolladores nuevos Desarrolladores nuevos que no usan Node.js o que no están familiarizados con él |
npm | Usa npm (Node Package Manager) para instalar la CLI y habilitar el comando firebase disponible de manera global. |
Desarrolladores que usan Node.js |
objeto binario independiente
Para descargar y ejecutar el objeto binario de Firebase CLI, sigue estos pasos:
Descarga el objeto binario de Firebase CLI para Windows.
Accede al objeto binario para abrir un shell en el que puedes ejecutar el comando
firebase
.Continúa para acceder y probar la CLI.
npm
Puedes usar npm
(Node Package Manager) para instalar
Firebase CLI mediante estos pasos:
Instala Node.js con nvm-windows (Node Version Manager). Cuando lo hagas, se instalarán automáticamente las herramientas de comando de
npm
.Ejecuta el siguiente comando para instalar Firebase CLI a través de
npm
:npm install -g firebase-tools
Esto habilita el comando
firebase
disponible de manera global.Continúa para acceder y probar la CLI.
macOS o Linux
Puedes instalar Firebase CLI para macOS o Linux con una de las siguientes opciones:
Opción | Descripción | Casos recomendados |
---|---|---|
secuencia de comandos de instalación automática | Ejecuta un solo comando que detecta automáticamente tu sistema operativo, descarga la versión más reciente de la CLI y habilita el comando firebase disponible de manera global. |
Desarrolladores nuevos Desarrolladores que no usan Node.js o no están familiarizados con él Implementaciones automatizadas en un entorno de CI/CD |
objeto binario independiente | Descarga el objeto binario independiente de la CLI. Luego, puedes configurar y ejecutar el objeto binario a fin de adaptarlo a tu flujo de trabajo. | Flujos de trabajo completamente personalizables con la CLI |
npm | Usa npm (Node Package Manager) para instalar la CLI y habilitar el comando firebase disponible de manera global. |
Desarrolladores que usan Node.js |
secuencia de comandos de instalación automática
Puedes usar la secuencia de comandos de instalación automática para instalar Firebase CLI mediante estos pasos:
Ejecuta el siguiente comando de cURL:
curl -sL https://firebase.tools | bash
Esta secuencia de comandos detecta automáticamente tu sistema operativo, descarga la versión más reciente de Firebase CLI y habilita el comando
firebase
disponible de manera global.Continúa para acceder y probar la CLI.
Si quieres ver más ejemplos y detalles sobre la secuencia de comandos de instalación automática, consulta el código fuente de la secuencia de comandos en firebase.tools.
objeto binario independiente
Sigue estos pasos a fin de descargar y ejecutar el objeto binario de Firebase CLI específico para tu SO:
Descarga el objeto binario de Firebase CLI para tu SO: macOS | Linux
Configura el comando
firebase
disponible de manera global (opcional).- Ejecuta
chmod +x ./firebase_tools
para que el objeto binario sea ejecutable. - Agrega la ruta de acceso del objeto binario a tu variable de entorno PATH.
- Ejecuta
Continúa para acceder y probar la CLI.
npm
Puedes usar npm
(Node Package Manager) para instalar Firebase CLI
mediante estos pasos:
Instala Node.js con nvm (Node Version Manager).
Cuando lo hagas, se instalarán automáticamente las herramientas de comando denpm
.Ejecuta el siguiente comando para instalar Firebase CLI a través de
npm
:npm install -g firebase-tools
Esto habilita el comando
firebase
disponible de manera global.Continúa para acceder y probar la CLI.
Accede y prueba Firebase CLI
Debes autenticarte después de instalar la CLI. Para confirmar la autenticación, puedes enumerar tus proyectos de Firebase.
Accede a Firebase con tu Cuenta de Google ejecutando el siguiente comando:
firebase login
Este comando conecta tu máquina local a Firebase y te otorga acceso a los proyectos de Firebase.
Enumera tus proyectos de Firebase para probar que se instaló correctamente la CLI y que accediste a tu cuenta. Ejecuta el siguiente comando:
firebase projects:list
La lista que se muestra debe ser la misma que los proyectos de Firebase enumerados en Firebase console.
Actualiza a la versión más reciente de la CLI
En general, se recomienda usar la versión más actualizada de Firebase CLI.
La forma de actualizar la versión de la CLI depende del sistema operativo y de cómo instalaste esta herramienta.
Windows
- objeto binario independiente: Descarga la versión nueva y reemplázala en tu sistema.
- npm: Ejecuta
npm install -g firebase-tools
.
macOS
- secuencia de comandos de instalación automática: Ejecuta
curl -sL https://firebase.tools | upgrade=true bash
. - objeto binario independiente: Descarga la versión nueva y reemplázala en tu sistema.
- npm: Ejecuta
npm install -g firebase-tools
.
Linux
- secuencia de comandos de instalación automática: Ejecuta
curl -sL https://firebase.tools | upgrade=true bash
. - objeto binario independiente: Descarga la versión nueva y reemplázala en tu sistema.
- npm: Ejecuta
npm install -g firebase-tools
.
Usa la CLI con sistemas de CI
Firebase CLI requiere un navegador para completar la autenticación, pero esta herramienta es totalmente compatible con la IC y otros entornos sin interfaz gráfica.
Instala Firebase CLI en una máquina que cuente con un navegador.
Para iniciar el proceso de acceso, ejecuta el siguiente comando:
firebase login:ci
Visita la URL proporcionada y, luego, accede con una Cuenta de Google.
Imprime un token de actualización nuevo. La sesión de la CLI actual no se verá afectada.
Almacena el token de salida de forma segura pero accesible en tu sistema de CI.
Úsalo cuando ejecutes comandos
firebase
. Puedes utilizar cualquiera de estas dos opciones:Opción 1: Almacena el token como la variable de entorno
FIREBASE_TOKEN
. El sistema usará el token automáticamente.Opción 2: Ejecuta todos los comandos
firebase
con la marca--token TOKEN
en tu sistema de CI.
El orden de prioridad para la carga de tokens es el siguiente: marca, variable de entorno y proyecto de Firebase deseado.
Inicializa un proyecto de Firebase
Muchas de las tareas comunes que se realizan con la CLI, como implementarla en un proyecto de Firebase, requieren un directorio del proyecto. Este directorio se establece con el comando firebase init
. Por lo general, el directorio del proyecto es el mismo que la raíz del control de fuente y, después de ejecutar firebase init
, este contendrá un archivo de configuración firebase.json
.
Para inicializar un proyecto de Firebase nuevo, ejecuta el siguiente comando desde el directorio de tu app:
firebase init
El comando firebase init
te guía paso a paso en la configuración del directorio del proyecto y algunos productos de Firebase. Durante la inicialización del proyecto, Firebase CLI te solicita lo siguiente:
Que selecciones los productos de Firebase que quieras configurar en un proyecto de Firebase.
Hacer esto permite establecer la configuración de archivos específicos de los productos seleccionados. Para obtener más detalles sobre estas configuraciones, consulta la documentación de cada producto (por ejemplo, Hosting). Ten en cuenta que siempre puedes ejecutar
firebase init
más tarde para configurar más productos de Firebase.Que selecciones un proyecto predeterminado de Firebase.
En este paso, se asocia el directorio del proyecto actual con un proyecto de Firebase, de modo que los comandos específicos del proyecto (como
firebase deploy
) se ejecuten en relación con el proyecto de Firebase correcto.También es posible asociar varios proyectos de Firebase (como un proyecto en etapa de pruebas y uno en producción) con el mismo directorio de proyecto.
Al final de la inicialización, Firebase crea y agrega automáticamente dos archivos a la raíz del directorio local de apps:
Un archivo de configuración
firebase.json
que contiene la configuración del proyectoUn archivo
.firebaserc
en el que se almacenan los alias del proyecto
El archivo firebase.json
El comando firebase init
crea un archivo de configuración firebase.json
en la raíz del directorio del proyecto.
El archivo firebase.json
es obligatorio para implementar recursos con Firebase CLI, ya que especifica qué archivos y qué configuración del directorio del proyecto se deben implementar en el proyecto de Firebase. Como algunas opciones de configuración se pueden definir en el directorio del proyecto o en Firebase console, asegúrate 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, en el caso de otros servicios de Firebase que pueden implementarse con Firebase CLI, el comando firebase init
crea archivos específicos en los que puedes definir la configuración de esos servicios, como un archivo index.js
para Cloud Functions. También puedes configurar hooks previos o posteriores a la implementación en el archivo firebase.json
.
El siguiente es un archivo firebase.json
de ejemplo que contiene la configuración predeterminada si
seleccionas Firebase Hosting, Cloud Firestore y Cloud Functions for Firebase
(con las opciones de source y lint de TypeScript 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 la marca
--config PATH
para especificar un archivo de configuración
alternativo.
Configuración de varias bases de datos de Cloud Firestore
Cuando ejecutes 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 tu proyecto contiene varias bases de datos de Cloud Firestore, edita tu archivo firebase.json
para asociar diferentes Cloud Firestore Security Rules y archivos fuente de índice de base de datos a cada base de datos. Modifica el archivo con un array 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 ignorarán 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 ignorarán. Esto
impide la implementación en los archivos externos de backend que podrían
aumentar el tamaño de los datos de la implementación.
La lista de archivos ignorados de forma predeterminada, que se muestra en formato JSON, es la siguiente:
"ignore": [
".git",
".runtimeconfig.json",
"firebase-debug.log",
"firebase-debug.*.log",
"node_modules"
]
Si agregas tus propios valores personalizados para ignore
en firebase.json
, asegúrate
de mantener (o agregar, si es que no está), la lista de archivos que se mostró anteriormente.
Administra alias de proyectos
Puedes asociar varios proyectos de Firebase con un mismo directorio de proyecto.
Por ejemplo, recomendamos que uses un proyecto de Firebase para la etapa de pruebas y otro para la producción. Si usas diferentes entornos de proyectos, podrás verificar los cambios antes de implementarlos en la producción. El comando firebase use
te permite cambiar de alias, además de crear otros nuevos.
Agrega un alias de proyecto
Cuando seleccionas un proyecto de Firebase durante la inicialización del proyecto, su alias se denomina default
automáticamente. Sin embargo, para permitir que los comandos específicos de un proyecto se ejecuten en un proyecto de Firebase diferente, pero usen el mismo directorio del proyecto, ejecuta el siguiente comando desde el directorio del proyecto:
firebase use --add
Este comando requiere que selecciones otro proyecto de Firebase y le asignes un alias definido. Las definiciones de alias se escriben en un archivo .firebaserc
dentro del directorio del proyecto.
Usa alias de proyectos
Si quieres usar alias de proyectos de Firebase definidos, ejecuta cualquiera de los siguientes comandos en el directorio del proyecto.
Comando | Descripción |
---|---|
firebase use |
Muestra una lista de los alias definidos actualmente para el directorio del proyecto |
firebase use \ |
Hace que todos los comandos se ejecuten en el proyecto de Firebase especificado.
La CLI lo usará como el “proyecto activo”. |
firebase use --clear |
Borra el proyecto activo. Ejecuta |
firebase use \ |
Quita un alias del directorio del proyecto. |
Puedes usar la marca --project
con cualquier comando de la CLI para anular el proyecto activo en ese momento. Por ejemplo, puedes hacer que la CLI se ejecute en un proyecto de Firebase al que le asignaste el alias staging
. Si quieres ejecutar un solo comando en un proyecto de Firebase al que le asignaste el alias prod
, podrás ejecutar, por ejemplo,
.
Control de código fuente y alias de proyectos
En general, debes registrar el archivo .firebaserc
en el control de código fuente para que tu equipo pueda compartir alias de proyectos. Sin embargo, en el caso de los proyectos de código abierto o las plantillas de inicio, en general, no debes registrarlos en el archivo .firebaserc
.
Si tienes un proyecto de desarrollo que solo tú usas, puedes pasar la marca --project
con cada comando o ejecutar firebase use PROJECT_ID
sin definir un alias para el proyecto de Firebase.
Publica y prueba tu proyecto de Firebase en forma local
Puedes ver y probar tu proyecto de Firebase en las URL alojadas localmente antes de implementarlo en producción. Si solo quieres probar algunas funciones, puedes usar una lista de elementos separados por comas en una marca del comando firebase serve
.
Ejecuta el siguiente comando desde la raíz del directorio del proyecto local si quieres realizar alguna de estas tareas:
- Ver el contenido estático de la app alojada en Firebase
- Usar Cloud Functions para generar contenido dinámico para Firebase Hosting y usar las funciones de HTTP de producción (implementadas) para emular Hosting en una URL local
firebase serve --only hosting
Emula el proyecto con funciones de HTTP locales
Ejecuta cualquiera de los siguientes comandos desde el directorio del proyecto para emular el proyecto con funciones locales de HTTP.
A fin de emular funciones de HTTP y alojamiento para pruebas en URL locales, usa cualquiera de los siguientes comandos:
firebase serve
firebase serve --only functions,hosting // uses a flag
Para emular solo funciones de HTTP, usa el siguiente comando:
firebase serve --only functions
Realiza pruebas desde otros dispositivos locales
De forma predeterminada, firebase serve
solo responde a las solicitudes de localhost
. Esto
significa que podrás acceder al contenido alojado mediante el navegador web de tu computadora,
pero no desde otros dispositivos de la red. Usa la marca --host
para realizar pruebas en otros dispositivos locales, como se indica a continuación:
firebase serve --host 0.0.0.0 // accepts requests to any host
Implementa en un proyecto de Firebase
Firebase CLI administra la implementación del código y los recursos en tu proyecto de Firebase. Esto incluye lo siguiente:
- Versiones nuevas de tus sitios de Firebase Hosting
- Cloud Functions for Firebase nuevas, actualizadas o existentes
- Esquemas y conectores nuevos o actualizados para Firebase Data Connect
- Reglas para Firebase Realtime Database
- Reglas para Cloud Storage for Firebase
- Reglas para Cloud Firestore
- Índices para Cloud Firestore
Para implementar un proyecto de Firebase, ejecuta el siguiente comando desde el directorio de tu proyecto:
firebase deploy
De manera opcional, puedes agregar un comentario a cada una de tus implementaciones. Este comentario se mostrará junto con otra información de la implementación en la página Firebase Hosting del proyecto. Por ejemplo:
firebase deploy -m "Deploying the best new feature ever."
Cuando uses el comando firebase deploy
, ten en cuenta lo siguiente:
Para implementar recursos desde un directorio de proyecto, este debe tener un archivo
firebase.json
. El comandofirebase init
lo crea automáticamente.De forma predeterminada,
firebase deploy
crea una versión para todos los recursos que se pueden implementar en el directorio del proyecto. Para implementar funciones o servicios específicos de Firebase, usa la implementación parcial.
Conflictos de implementación de reglas de seguridad
En el caso de Firebase Realtime Database, Cloud Storage for Firebase y Cloud Firestore, puedes definir reglas de seguridad ya sea en el directorio de tu proyecto local o en Firebase console.
Otra opción para evitar conflictos de implementación es usar la implementación parcial y solo definir reglas en Firebase console.
Cuotas de implementación
Es posible (aunque poco probable) que excedas una cuota que limite la tasa o el volumen de las operaciones de implementación de Firebase. Por ejemplo, si
implementas muchas funciones, podrías recibir un mensaje de
error HTTP 429 Quota
. Para resolver estos problemas,
usa la implementación parcial.
Revierte una implementación
Puedes revertir una implementación de Firebase Hosting en la página de Firebase Hosting de tu proyecto. Para ello, selecciona la acción Revertir en la versión correspondiente.
En este momento, no es posible revertir actualizaciones de reglas de seguridad de Firebase Realtime Database, Cloud Storage for Firebase ni Cloud Firestore.
Implementa servicios de Firebase específicos
Si solo quieres implementar servicios o funciones de Firebase específicos, puedes usar una lista de elementos separados por comas en una marca del 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 la implementación parcial. Los nombres de las marcas corresponden a las claves del archivo de configuración firebase.json
.
Sintaxis de la marca | Servicio o función que se implementa |
---|---|
--only hosting |
Contenido de Firebase Hosting |
--only database |
Reglas de Firebase Realtime Database |
--only dataconnect |
Esquemas y conectores de Firebase Data Connect |
--only storage |
Reglas de Cloud Storage for Firebase |
--only firestore |
Índices y reglas de Cloud Firestore para todas las bases de datos configuradas |
--only functions |
Cloud Functions for Firebase (es posible que existan versiones más específicas de esta marca) |
Implementa funciones específicas
Cuando implementas funciones, puedes indicar algunas de forma específica. Por ejemplo:
firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2
Otra opción es reunir las funciones en grupos de exportación en el archivo /functions/index.js
. Agrupar funciones te permite implementar varias de ellas con un solo comando.
Por ejemplo, puedes escribir las siguientes funciones para definir un groupA
y un groupB
:
var functions = require('firebase-functions/v1');
exports.groupA = {
function1: functions.https.onRequest(...),
function2: functions.database.ref('\path').onWrite(...)
}
exports.groupB = require('./groupB');
En este ejemplo, se incluye un archivo functions/groupB.js
aparte que define específicamente groupB
. Por ejemplo:
var functions = require('firebase-functions/v1');
exports.function3 = functions.storage.object().onChange(...);
exports.function4 = functions.analytics.event('in_app_purchase').onLog(...);
En este ejemplo, puedes implementar todas las funciones de groupA
si ejecutas el siguiente comando desde el directorio de tu proyecto:
firebase deploy --only functions:groupA
O puedes indicar una función específica dentro de un grupo con solo ejecutar el siguiente comando:
firebase deploy --only functions:groupA.function1,groupB.function4
Borra funciones
Firebase CLI admite los siguientes comandos y opciones para borrar funciones implementadas previamente:
Borrar todas las funciones que coincidan con el nombre especificado en todas las regiones:
firebase functions:delete FUNCTION-1_NAME
Borrar una función especificada que se ejecuta en una región no predeterminada:
firebase functions:delete FUNCTION-1_NAME --region REGION_NAME
Borrar más de una función:
firebase functions:delete FUNCTION-1_NAME FUNCTION-2_NAME
Borrar un grupo de funciones especificadas:
firebase functions:delete GROUP_NAME
Omitir el mensaje de confirmación:
firebase functions:delete FUNCTION-1_NAME --force
Configura tareas de secuencia de comandos previas y posteriores a la implementación
Puedes conectar secuencias de comandos de shell al comando firebase deploy
para realizar tareas previas a la implementación o posteriores a ella. Por ejemplo, una secuencia de comandos previa a la implementación podría transpilar el código de TypeScript a JavaScript y un hook posterior a la implementación podría notificar a los administradores cuándo se implementa contenido nuevo del sitio en Firebase Hosting.
Para configurar hooks previos a la implementación o posteriores a ella, agrega las secuencias de comandos de Bash al archivo de configuración firebase.json
. Puedes definir secuencias de comandos breves directamente en el archivo firebase.json
o puedes consultar otros archivos que se encuentren en el directorio de tu proyecto.
Por ejemplo, la siguiente secuencia de comandos es la expresión de firebase.json
para una tarea posterior a la implementación que envía un mensaje de Slack cuando se completa correctamente una implementación en Firebase Hosting.
"hosting": {
// ...
"postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
"public": "public"
}
El archivo de la secuencia de comandos messageSlack.sh
reside en el directorio del proyecto y es similar al siguiente:
curl -X POST -H 'Content-type: application/json' --data '{"text":"$1"}' \https://SLACK_WEBHOOK_URL
Puedes configurar los hooks predeploy
y postdeploy
para cualquiera de los recursos que puedes implementar. Ten en cuenta que ejecutar firebase deploy
activa todas las tareas previas y posteriores a la implementación que se definieron en el archivo firebase.json
. Para ejecutar solo aquellas tareas asociadas con un servicio de Firebase específico, usa comandos de implementación parcial.
Los hooks predeploy
y postdeploy
muestran los flujos estándar de salida y de errores de las secuencias de comandos en la terminal. En caso de error, ten en cuenta lo siguiente:
- Si un hook previo a la implementación no se completa según lo previsto, la implementación se cancela.
- Si la implementación falla por cualquier motivo, los hooks previos a la implementación no se activan.
Variables de entorno
Las siguientes variables de entorno están disponibles dentro de las secuencias de comandos que se ejecutan en los hooks previos a la implementación y posteriores a ella:
$GCLOUD_PROJECT
: El ID del proyecto activo$PROJECT_DIR
: El directorio raíz que contiene el archivofirebase.json
$RESOURCE_DIR
: (Solo para las secuencias de comandoshosting
yfunctions
) La ubicación del directorio que contiene los recursos de Hosting o Cloud Functions que se implementarán
Administra varias instancias de Realtime Database
Un proyecto de Firebase puede tener varias instancias de Firebase Realtime Database. De forma predeterminada, los comandos de la CLI interactúan con la instancia predeterminada de tu base de datos.
Sin embargo, puedes interactuar con una instancia no predeterminada de la base de datos mediante la marca
--instance DATABASE_NAME
--instance
:
firebase database:get
firebase database:profile
firebase database:push
firebase database:remove
firebase database:set
firebase database:update
Referencia de comandos
Comandos administrativos de la CLI
Comando | Descripción |
---|---|
help | Muestra información de ayuda sobre la CLI o los comandos específicos. |
init | Asocia y configura un proyecto de Firebase nuevo en el directorio actual.
Este comando creará un archivo de configuración firebase.json en el directorio actual. |
login | Autentica la CLI con tu cuenta de Firebase. Se necesita acceso a un navegador web. Para ingresar a la CLI en entornos remotos que no permiten el acceso a localhost , usa la marca --no-localhost |
login:ci | Genera un token de autenticación para usarlo en entornos no interactivos. |
logout | Sale de la cuenta en Firebase CLI. |
open | Abre un navegador con los recursos de proyecto pertinentes. |
projects:list | Muestra una lista de todos los proyectos de Firebase a los que tienes acceso. |
use | Establece el proyecto actual de Firebase para la CLI. Administra alias de proyectos. |
Comandos de administración de proyectos
Comando | Descripción | |
---|---|---|
Administración de proyectos de Firebase | ||
projects.addFirebase | Agrega recursos de Firebase a un proyecto de Google Cloud existente. | |
projects:create | Crea un proyecto de Google Cloud nuevo y, luego, le agrega recursos de Firebase. | |
projects:list | Muestra una lista de todos los proyectos de Firebase a los que tienes acceso. | |
Administración de aplicaciones de Firebase (iOS, Android y Web) | ||
apps:create | Crea una nueva app de Firebase en el proyecto activo. | |
apps:list | Muestra una lista de las apps de Firebase registradas en el proyecto activo. | |
apps:sdkconfig | Imprime la configuración de servicios de Google de una app de Firebase. | |
setup:web | Obsoleto. En su lugar, usa apps:sdkconfig y especifica web como el argumento de la plataforma.Imprime la configuración de servicios de Google de una aplicación web de Firebase. |
|
Administración de hash de certificados SHA (solo para Android) | ||
apps:android:sha:create \ FIREBASE_APP_ID SHA_HASH |
Agrega el hash del certificado SHA que se especificó a la app de Firebase para Android indicada. | |
apps:android:sha:delete \ FIREBASE_APP_ID SHA_HASH |
Borra el hash del certificado SHA que se especificó de la app de Firebase para Android indicada. | |
apps:android:sha:list \ FIREBASE_APP_ID |
Muestra una lista de los hash del certificado SHA de la app de Firebase para Android indicada. |
Implementación y desarrollo local
Estos comandos te permiten implementar y, además, interactuar con tu sitio de Firebase Hosting.
Comando | Descripción |
---|---|
deploy | Implementa el código y los elementos del directorio del proyecto en el proyecto activo. En el caso de Firebase Hosting, se requiere un archivo de configuración firebase.json .
|
serve | Inicia un servidor web local con tu configuración de Firebase Hosting.
En el caso de Firebase Hosting, se requiere un archivo de configuración firebase.json . |
Comandos App Distribution
Comando | Descripción |
---|---|
appdistribution:distribute \ --app FIREBASE_APP_ID |
Permite que la compilación esté disponible para los verificadores. |
appdistribution:testers:add | Permite agregar verificadores al proyecto. |
appdistribution:testers:remove | Permite quitar verificadores del proyecto. |
Comandos App Hosting
Comando | Descripción |
---|---|
apphosting:backends:create \ --project PROJECT_ID \ --location REGION --app APP_ID |
Crea la colección de recursos administrados vinculados a una sola base de código que consta de un backend de App Hosting. De manera opcional, especifica una app web de Firebase existente por su ID de app de Firebase. |
apphosting:backends:get \ BACKEND_ID \ --project PROJECT_ID \ --location REGION |
Recupera detalles específicos, incluida la URL pública, de un backend. |
apphosting:backends:list \ --project PROJECT_ID |
Recupera una lista de todos los backends activos asociados con un proyecto. |
firebase apphosting:backends:delete \ BACKEND_ID \ --project PROJECT_ID \ --location REGION |
Borra un backend del proyecto. |
firebase apphosting:config:export \ --project PROJECT_ID \ --secrets ENVIRONMENT_NAME |
Exporta secretos para usarlos en la emulación de apps. Usa de forma predeterminada los secretos almacenados en apphosting.yaml o toma
--secrets para especificar cualquier entorno que tenga un
archivo
apphosting.ENVIRONMENT_NAME.yaml correspondiente.
|
firebase apphosting:rollouts:create \ BACKEND_ID \ --git_branch BRANCH_NAME \ --git_commit COMMIT_ID |
Crea un lanzamiento activado de forma manual. De manera opcional, especifica la confirmación más reciente de una rama o una confirmación específica. Si no se proporcionan opciones, se solicita la selección de una lista de ramas. |
apphosting:secrets:set
KEY
--project PROJECT_ID \ --location REGION \ --data-file DATA_FILE_PATH |
Almacena material secreto en Secret Manager. De forma opcional, proporciona una ruta de acceso al archivo desde la que se leerán los datos secretos. Configúrala como _ para leer datos secretos de la entrada estándar.
|
apphosting:secrets:grantaccess
KEY
BACKEND_ID \ --project PROJECT_ID \ --location REGION |
Otorga a la cuenta de servicio del backend acceso al secreto proporcionado para que App Hosting pueda acceder a él en el tiempo de compilación o ejecución. |
apphosting:secrets:describe
KEY \ --project PROJECT_ID |
Obtiene los metadatos de un secreto y sus versiones. |
firebase apphosting:secrets:access \ KEY[@version] \ --project PROJECT_ID |
Accede a un valor secreto según el secreto y su versión. El valor predeterminado consiste en acceder a la versión más reciente. |
Comandos de Authentication (administración de usuarios)
Comando | Descripción |
---|---|
auth:export | Exporta las cuentas de usuario del proyecto activo a un archivo JSON o CSV. Consulta la página auth:import y auth:export para obtener más detalles. |
auth:import | Importa las cuentas de usuario al proyecto activo desde un archivo JSON o CSV. Consulta la página auth:import y auth:export para obtener más detalles. |
Comandos Cloud Firestore
Comando | Descripción |
---|---|
firestore:locations |
Enumera las ubicaciones disponibles para tu base de datos de Cloud Firestore. |
firestore:databases:create DATABASE_ID |
Crea una instancia de base de datos en modo nativo en tu proyecto de Firebase. El comando usa las siguientes marcas:
|
firestore:databases:list |
Enumera las bases de datos de tu proyecto de Firebase. |
firestore:databases:get DATABASE_ID |
Obtén la configuración de una base de datos específica en tu proyecto de Firebase. |
firestore:databases:update DATABASE_ID |
Actualiza la configuración de una base de datos específica en tu proyecto de Firebase. Se requiere al menos una marca. El comando usa las siguientes marcas:
|
firestore:databases:delete DATABASE_ID |
Borra una base de datos en tu proyecto de Firebase. |
firestore:indexes |
Enumera los índices de una base de datos en tu proyecto de Firebase. El comando toma la siguiente marca:
|
firestore:delete |
Borra los documentos de la base de datos del proyecto activo. Mediante la CLI puedes borrar de manera recurrente todos los documentos de una colección. Ten en cuenta que borrar los datos de Cloud Firestore con la CLI genera costos de lectura y eliminación. Para obtener más información, consulta Información sobre la facturación de Cloud Firestore. El comando toma la siguiente marca:
|
Comandos Cloud Functions for Firebase
Comando | Descripción |
---|---|
functions:config:clone | Clona el entorno de otro proyecto en el proyecto activo de Firebase. |
functions:config:get | Recupera los valores de configuración existentes de Cloud Functions del proyecto activo. |
functions:config:set | Almacena los valores de configuración del entorno de ejecución de Cloud Functions del proyecto activo. |
functions:config:unset | Quita los valores de la configuración del entorno de ejecución del proyecto activo. |
functions:log | Lee registros de Cloud Functions implementados. |
Consulta la documentación de la configuración del entorno para obtener más detalles.
Comandos Crashlytics
Comando | Descripción |
---|---|
crashlytics:mappingfile:generateid \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML |
Genera un ID de archivo de asignación único en el archivo de recursos de Android (XML) especificado. |
crashlytics:mappingfile:upload \ --app=FIREBASE_APP_ID \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML \ PATH/TO/MAPPING_FILE.TXT |
Sube un archivo de asignación compatible con Proguard (TXT) para esta app y lo asocia con el ID de archivo de asignación declarado en el archivo de recursos de Android (XML) especificado. |
crashlytics:symbols:upload \ --app=FIREBASE_APP_ID \ PATH/TO/SYMBOLS |
Genera un archivo de símbolos compatible con Crashlytics para fallas de bibliotecas nativas en Android y lo sube a los servidores de Firebase. |
Comandos Data Connect
Estos comandos y sus casos de uso se describen con más detalle en la guía de referencia de la CLI de Data Connect.
Comando | Descripción |
---|---|
dataconnect:services:list | Muestra una lista de todos los servicios de Data Connect implementados en tu proyecto de Firebase. |
dataconnect:sql:diff \ SERVICE_ID |
Para el servicio especificado, muestra las diferencias entre un esquema Data Connect local y el esquema de tu base de datos de Cloud SQL. |
dataconnect:sql:migrate \ --force \ SERVICE_ID |
Migra el esquema de tu base de datos de Cloud SQL para que coincida con tu esquema Data Connect local. |
dataconnect:sql:grant\ --role=ROLE \ --email=EMAIL \ SERVICE_ID |
Otorga el rol de SQL al correo electrónico del usuario o la cuenta de servicio especificado.
Para la marca --role , el rol de SQL que se otorgará es uno de los siguientes:
owner , writer o reader .
Para la marca --email , proporciona la dirección de correo electrónico del
usuario o la cuenta de servicio a la que se le otorgará el rol.
|
dataconnect:sdk:generate | Genera SDKs tipificados para tus conectores Data Connect. |
Comandos Extensions
Comando | Descripción |
---|---|
ext | Muestra información sobre cómo usar los comandos de Firebase Extensions. Enumera las instancias de extensiones instaladas en el proyecto activo. |
ext:configure \ EXTENSION_INSTANCE_ID |
Vuelve a configurar los valores de los parámetros de una instancia de extensión en el manifiesto de extensión. |
ext:info \ PUBLISHER_ID/EXTENSION_ID |
Imprime información detallada sobre una extensión. |
ext:install \ PUBLISHER_ID/EXTENSION_ID |
Agrega una instancia nueva de una extensión al manifiesto de extensión. |
ext:list | Muestra una lista de todas las instancias de extensiones instaladas en un proyecto de Firebase. Imprime el ID de instancia de cada extensión. |
ext:uninstall \ EXTENSION_INSTANCE_ID |
Elimina una instancia de extensión del manifiesto de extensión. |
ext:update \ EXTENSION_INSTANCE_ID |
Actualiza una instancia de extensión a la versión más reciente en el manifiesto de extensión. |
ext:export | Exporta todas las instancias de extensiones instaladas del proyecto al manifiesto de extensión. |
Comandos del publicador de Extensions
Comando | Descripción |
---|---|
ext:dev:init | Inicializa una base de código para una extensión nueva en el directorio actual. |
ext:dev:list \ PUBLISHER_ID |
Imprime una lista de todas las extensiones que subió un publicador. |
ext:dev:register | Registra un proyecto de Firebase como un proyecto de publicador de extensiones. |
ext:dev:deprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
Da de baja
las versiones de extensiones que coincidan con el predicado de la versión. Un predicado de versión puede ser una versión única (como 1.0.0 ),
o un rango de versiones (como >1.0.0 ).Si no se proporciona un predicado de versión, se dan de baja todas las versiones de esa extensión. |
ext:dev:undeprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
Vuelve a admitir
las versiones de extensión que coinciden con el predicado de la versión. Un predicado de versión puede ser una versión única (como 1.0.0 ),
o un rango de versiones (como >1.0.0 ).Si no se proporciona un predicado de versión, se vuelven a admitir todas las versiones de esa extensión. |
ext:dev:upload \ PUBLISHER_ID/EXTENSION_ID |
Sube una versión nueva de una extensión. |
ext:dev:usage \ PUBLISHER_ID |
Muestra la cantidad de instalaciones y las métricas de uso de las extensiones que subió un editor. |
Comandos Hosting
Comando | Descripción |
---|---|
hosting:disable |
Deja de procesar tráfico de Firebase Hosting para el proyecto activo de Firebase. Después de ejecutar este comando, se mostrará el mensaje “Sitio no encontrado” en la URL de Hosting del proyecto. |
Administración de sitios de Hosting | |
firebase hosting:sites:create \ SITE_ID |
Crea un sitio de Hosting nuevo en el proyecto activo de Firebase con el
(Opcional) Especifica una app web de Firebase existente a fin de asociarla
con el sitio nuevo. Para ello, pasa la siguiente marca:
|
firebase hosting:sites:delete \ SITE_ID |
Borra el sitio de Hosting especificado. La CLI muestra un mensaje de confirmación antes de borrar el sitio. (Opcional) Pasa las siguientes marcas |
firebase hosting:sites:get \ SITE_ID |
Recupera información sobre el sitio de Hosting especificado. |
firebase hosting:sites:list |
Muestra una lista de todos los sitios de Hosting del proyecto de Firebase activo. |
Administración de canales de vista previa | |
firebase hosting:channel:create \ CHANNEL_ID |
Crea un nuevo canal de vista previa en el sitio Hosting predeterminado con el Este comando no se implementa en el canal. |
firebase hosting:channel:delete \ CHANNEL_ID |
Borra el canal de vista previa especificado. No puedes borrar canales publicados de un sitio. |
firebase hosting:channel:deploy \ CHANNEL_ID |
Implementa tu contenido y configuración de Hosting en el canal de vista previa especificado. Si el canal de vista previa aún no existe, este comando lo crea en el sitio de Hosting predeterminado antes de implementarlo en el canal. |
firebase hosting:channel:list | Muestra todos los canales (incluido el canal "publicado") en el sitio de Hosting predeterminado. |
firebase hosting:channel:open \ CHANNEL_ID |
Abre la URL del canal especificado en un navegador o, si no es posible hacerlo, muestra la URL. |
Clonación de versiones | |
firebase hosting:clone \ SOURCE_SITE_ID:SOURCE_CHANNEL_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
Clona la versión implementada más recientemente en el canal de “origen” especificado en el canal de “destino” especificado. Este comando también se implementa en el canal de “destino”. Si el canal de “destino” aún no existe, este comando crea un canal de vista previa nuevo en el sitio de Hosting de “destino”, antes de implementar en el canal. |
firebase hosting:clone \ SOURCE_SITE_ID:@VERSION_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
Clona la versión especificada en el canal de “destino” especificado. Este comando también se implementa en el canal de “destino”. Si el canal de “destino” aún no existe, este comando crea un canal de vista previa nuevo en el sitio de Hosting de “destino”, antes de implementar en el canal. Puedes encontrar el |
Comandos Realtime Database
Ten en cuenta que puedes crear tu instancia inicial y predeterminada de Realtime Database en Firebase console o con el flujo de trabajo general firebase init
o el flujo firebase init database
específico.
Una vez que se creen las instancias, puedes administrarlas como se describe en Administra varias instancias de Realtime Database.
Comando | Descripción |
---|---|
database:get | Recupera datos desde la base de datos del proyecto actual y los muestra en formato JSON. Admite consultas en datos indexados. |
database:instances:create | Crea una instancia de base de datos con un nombre de instancia específico. Acepta la opción --location para crear una base de datos en una región específica. Si quieres ver los nombres de las regiones para usarlos con esta opción, consulta Selecciona las ubicaciones de tu proyecto.
Si no existe una instancia de base de datos para el proyecto actual, se te pedirá que ejecutes el flujo firebase init a fin de crear una instancia.
|
database:instances:list | Enumera todas las instancias de base de datos de este proyecto. Acepta la opción --location para enumerar las bases de datos ubicadas en una región específica. Si quieres ver los nombres de las regiones para usarlos con esta opción, consulta Selecciona las ubicaciones de tu proyecto. |
database:profile | Crea un perfil de operaciones en la base de datos del proyecto actual. Para obtener más detalles, consulta los tipos de operaciones de Realtime Database. |
database:push | Envía datos nuevos a una lista en la ubicación especificada de la base de datos del proyecto actual. Obtiene parámetros de entrada de un archivo, STDIN o el argumento de la línea de comandos. |
database:remove | Borra todos los datos de una ubicación especificada de la base de datos del proyecto activo. |
database:set | Reemplaza todos los datos de una ubicación específica en la base de datos del proyecto actual. Obtiene parámetros de entrada de un archivo, STDIN o de un argumento de la línea de comandos. |
database:update | Ejecuta una actualización parcial en una ubicación especificada en la base de datos del proyecto actual. Obtiene parámetros de entrada de un archivo, STDIN o el argumento de la línea de comandos. |
Comandos Remote Config
Comando | Descripción |
---|---|
remoteconfig:versions:list \ --limit NUMBER_OF_VERSIONS |
Enumera las diez versiones más recientes de la plantilla. Especifica 0 para mostrar todas las versiones existentes o, de manera alternativa, pasa la opción --limit a fin de limitar la cantidad de versiones que se muestran. |
remoteconfig:get \ --v, version_number VERSION_NUMBER --o, output FILENAME |
Obtiene la plantilla por versión (la configuración predeterminada es la versión más reciente)
y muestra los resultados de los grupos de parámetros, los parámetros, y los nombres y
la versión de las condiciones en una tabla. De manera opcional, puedes escribir el resultado en un archivo especificado con -o, FILENAME . |
remoteconfig:rollback \ --v, version_number VERSION_NUMBER --force |
Revierte la plantilla de Remote Config a un número de versión anterior especificado o, de manera predeterminada, a la versión anterior (1 número de versión menos que la actual). A menos que se pase --force , solicita indicar Sí o no antes de proceder con la reversión. |