Después de instalar y configurar extensiones en un proyecto de Firebase, puedes guardar la configuración e implementarla en otro proyecto. La configuración guardada tiene información sobre todas las instancias de extensión que instalaste, incluidos sus versiones y los valores de parámetro que especificaste cuando las instalaste.
Esto tiene varios usos posibles:
- Volver a crear la configuración de extensiones de un proyecto en otros proyectos
- Compartir la configuración de tus extensiones con otras personas
- Confirmar la configuración de las extensiones para el control de fuentes
- Agregar tus extensiones a la canalización de CI/CD
Guarda la configuración de extensiones de un proyecto
Sigue estos pasos para guardar la configuración de extensiones de un proyecto:
- Si aún no lo has hecho, configura Firebase CLI.
- Desde un símbolo del sistema de shell, cambia al directorio del proyecto (este
contiene el archivo
firebase.json
). - Ejecuta el comando
ext:export
:firebase ext:export –-project=YOUR_PROJECT_ID
El comando ext:export
agregará una sección extensions
al archivo
firebase.json
. Por ejemplo:
{
"extensions": {
"my-bigquery-extension": "firebase/firestore-bigquery-export@^0.1.18",
"my-image-resizer": "firebase/storage-resize-images@^0.1.22",
}
}
Además, el comando ext:export
crea un directorio extensions
que contiene un archivo .env
para cada instancia de extensión que instalaste. Estos
archivos incluyen los parámetros de configuración de cada instancia. Por ejemplo, una
instancia de storage-resize-images
podría tener un archivo .env
como el
siguiente:
IMAGE_TYPE=jpeg LOCATION=us-central1 IMG_BUCKET=${param:PROJECT_ID}.appspot.com IMG_SIZES=100x100 DELETE_ORIGINAL_FILE=false
Implementa un parámetro de configuración de extensiones en un proyecto
Después de guardar la configuración de extensiones de un proyecto, puedes implementarla en otro mediante Firebase CLI. Cuando implementas una configuración de extensiones, instalas, actualizas y configuras de una sola vez todas las instancias de extensiones guardadas en la configuración de un proyecto.
Para implementar una configuración de extensiones, haz lo siguiente:
- Desde un mensaje de shell, cámbiate al directorio que contiene la configuración
de las extensiones guardadas. Este es el directorio que contiene
firebase.json
. Si acabas de ejecutarext:export
, ya estás en el directorio correcto. - Ejecuta el comando
deploy
y especifica el proyecto en el que quieres implementar las extensiones:firebase deploy --only extensions –-project=YOUR_PROJECT_ID
El comando deploy
validará la configuración de cada instancia, te preguntará si quieres
borrar alguna instancia de extensión del proyecto de destino que no
aparezca en firebase.json
y, luego, implementará todas las instancias de extensión.
Parámetros de configuración de extensiones específicos del proyecto
La configuración de las extensiones guardadas se puede utilizar para implementarse en varios proyectos diferentes, por ejemplo, un proyecto de etapa de pruebas y otro de producción. Cuando lo hagas, es posible que algunos valores de parámetros deban ser diferentes para cada proyecto. Esto es posible gracias a los archivos .env específicos del proyecto. Los valores de parámetros que son diferentes entre los proyectos se pueden colocar en extensions/${extensionInstanceId}.env.${projectIdOrAlias}, y los valores de parámetros compartidos se pueden incluir en extensions/${extensionInstanceId}.env.