Es común tener varios entornos implementados desde la misma base de código, cada uno con una configuración ligeramente diferente. Por ejemplo, es posible que desees asignar menos CPU y RAM a tu entorno de etapa de pruebas o asegurarte de que tu entorno de producción mantenga al menos 1 instancia activa y lista para entregar solicitudes.
Si quieres obtener más información acerca de los entornos, consulta la Descripción general de los entornos y las Prácticas recomendadas generales para configurar proyectos de Firebase.
Requisitos previos
- El código de la aplicación ya está almacenado en GitHub.
- Ya creaste un proyecto distinto para cada uno de tus entornos, por ejemplo,
my-production-firebase-project
ymy-staging-firebase-project
.- Sugerencia: No olvides etiquetar tu proyecto de producción de Firebase con el tipo de entorno “production”.
Paso 0: Configura la rama de producción de Git
Si prefieres implementar el entorno de producción desde la rama main
, continúa con el siguiente paso. Si quieres implementar la producción
desde otra rama, como production
, primero debes crearla en GitHub.
Para crear tu rama de producción con la IU de GitHub, consulta Crea y borra ramas dentro de tu repositorio.
Para crear la rama production de manera local, sigue estos pasos:
$ git checkout -b production
$ git push origin production:production
Paso 1: Configura el archivo apphosting.yaml en producción
Supongamos que deseas asegurarte de que tu producción siempre mantenga al menos 1 máquina en ejecución y tenga algunas variables de entorno específicas de la producción. Para ello, debes crear un archivo apphosting.yaml
en la raíz de tu proyecto con algo similar a lo siguiente:
# Saved at <repository root>/apphosting.yaml
runConfig:
minInstances: 1
env:
- variable: STORAGE_BUCKET
value: <production Cloud Storage bucket name>
Para ver una lista completa de los parámetros de configuración compatibles, consulta Configura App Hosting.
Después de editar apphosting.yaml
, envíalo a tu repositorio de GitHub:
$ git add apphosting.yaml
$ git commit -m "Added production App Hosting backend configuration."
$ git push origin
Paso 2: Implementa tu base de código en producción
Una vez configurada la rama de Git de producción, puedes crear tu nuevo backend de App Hosting de producción. Para obtener instrucciones detalladas, consulta Comienza a usar App Hosting.
Para comenzar, navega a https://console.firebase.google.com/project/_/apphosting para crear un backend nuevo con Firebase console.
Para crearlo de manera local, primero debes tener instalado Firebase CLI y, luego, ejecutar lo siguiente:
firebase apphosting:backends:create --project <replace with your PRODUCTION project ID>
Cuando este comando se ejecute correctamente, tu backend de producción debería estar activo, y App Hosting compilará e implementará automáticamente cualquier confirmación nueva en tu rama de producción.
Paso 3: Configura la rama de Git de etapa de pruebas
Sigue los mismos pasos que los anteriores para crear la rama de etapa de pruebas en GitHub:
$ git checkout -b staging
$ git push origin staging:staging
Paso 4: Configura el archivo de etapa de pruebas apphosting.yaml
Tu rama de etapa de pruebas ya debería tener una copia del archivo apphosting.yaml de producción. Modifícalo para que App Hosting pueda desactivar el entorno de etapa de pruebas
cuando no se use de forma activa y también establecer un valor diferente
para la variable de entorno STORAGE_BUCKET
.
# Saved at <repository root>/apphosting.yaml
runConfig:
minInstances: 0
env:
- variable: STORAGE_BUCKET
value: <some other staging Cloud Storage bucket name>
Cuando termines de editar, envía el archivo a la rama de etapa de pruebas de Git:
$ git add apphosting.yaml
$ git commit -m "Added staging App Hosting backend configuration."
$ git push origin
Paso 5: Implementa tu base de código en la etapa de pruebas
Una vez configurada la rama de Git de etapa de pruebas, puedes seguir los mismos pasos que se hicieron antes para implementar la base de código en la etapa de pruebas:
firebase apphosting:backends:create --project <replace with your STAGING project ID>
Después de completar este paso, tendrás dos backends de App Hosting con la misma base de código, uno para producción y otro para la etapa de pruebas, cada uno en un proyecto de Firebase diferente.
Próximos pasos
- Ve más allá: Explora un codelab de Firebase que integra una app alojada con funciones de IA de Google y Firebase Authentication: Next.js | Angular
- Conecta un dominio personalizado.
- Configura tu backend.
- Supervisa los lanzamientos, el uso del sitio y los registros.