En esta página se explica cómo desplegar aplicaciones en Firebase con Cloud Build. Si es la primera vez que usas Cloud Build, consulta primero las guías de inicio rápido y el resumen de la configuración de compilación.
Antes de empezar
-
Enable the Cloud Build, Firebase, and Resource Manager APIs.
Para ejecutar los comandos
gcloud
de esta página, instala la CLI de Google Cloud.Ten a mano el código fuente de tu aplicación, incluido
firebase.json
. El código fuente debe almacenarse en un repositorio, como Cloud Source Repositories, GitHub o Bitbucket.Si aún no tienes un proyecto para desplegar en Firebase, puedes crear uno predeterminado instalando e inicializando Firebase.
Permisos de gestión de identidades y accesos necesarios
Abre la página de gestión de identidades y accesos en la Google Cloud consola:
Selecciona el proyecto y haz clic en Abrir.
En la tabla de permisos, busca el correo de la cuenta de servicio que vas a usar para la compilación y haz clic en el icono del lápiz.
Añade los roles
Cloud Build Service Account
(roles/cloudbuild.builds.builder
),Firebase Admin
(roles/firebase.admin
) yAPI Keys Admin
(roles/serviceusage.apiKeysAdmin
) a la cuenta de servicio.Haz clic en Guardar.
Usar la imagen de Docker firebase
Cloud Build proporciona una imagen de compilador que puedes usar para invocar comandos de firebase
en Cloud Build. Para usar este creador en un archivo de configuración de Cloud Build, puedes usar el paso de compilación firebase
para implementar en Firebase:
Crea un archivo de configuración de compilación llamado
cloudbuild.yaml
ocloudbuild.json
, donde PROJECT_ID es tu ID de proyecto y FIREBASE_PROJECT_ID es tu ID de proyecto de Firebase:Google CloudYAML
steps: - name: "us-docker.pkg.dev/firebase-cli/us/firebase" args: ['deploy', '--project=FIREBASE_PROJECT_ID', '--only=hosting'] ## Or, target a specific version of firebase-tools - name: "us-docker.pkg.dev/firebase-cli/us/firebase":x.y.z args: ['deploy', '--project=FIREBASE_PROJECT_ID', '--only=hosting']
JSON
{ "steps": [ { "name": "us-docker.pkg.dev/firebase-cli/us/firebase", "args": [ "deploy", "--project", "FIREBASE_PROJECT_ID", "--only", "hosting" ] } ] }
Puedes elegir una versión específica de
firebase-tools
mediante
name: "us-docker.pkg.dev/firebase-cli/us/firebase":x.y.z
Inicia la compilación con el archivo de configuración de compilación:
gcloud builds submit --region=REGION --config CONFIG_FILE_PATH SOURCE_DIRECTORY
Donde:
- REGION es una de las regiones de compilación admitidas.
- CONFIG_FILE_PATH es la ruta al archivo de configuración de compilación.
- SOURCE_DIRECTORY es la ruta o la URL del código fuente.
Despliegue continuo
Puedes automatizar el despliegue de tu software en Firebase creando activadores de Cloud Build. Puedes configurar activadores para compilar e implementar imágenes cada vez que actualices el código fuente.
Para automatizar el despliegue en Firebase, sigue estos pasos:
En tu repositorio, añade un archivo de configuración de compilación con los pasos para invocar el comando
firebase deploy
, donde PROJECT_ID es el ID de tu proyecto: Google CloudYAML
steps: - name: us-docker.pkg.dev/firebase-cli/us/firebase args: ['deploy', '--project=PROJECT_ID', '--only=hosting']
JSON
{ "steps": [ { "name": "us-docker.pkg.dev/firebase-cli/us/firebase", "args": [ "deploy", "--project", "PROJECT_ID", "--only", "hosting" ] } ] }
Crea un activador con el archivo de configuración de compilación que has creado en el paso anterior:
Abre la página Triggers (Activadores) en la Google Cloud consola:
Selecciona tu proyecto en el menú desplegable del selector de proyectos situado en la parte superior de la página.
Haz clic en Abrir.
Haz clic en Crear activador.
En la página Crear activador, introduzca los siguientes ajustes:
Escribe un nombre para el activador.
Selecciona el evento del repositorio para iniciar el activador.
Selecciona el repositorio que contiene el código fuente y el archivo de configuración de compilación.
Especifica la expresión regular del nombre de la rama o etiqueta que iniciará el activador.
Configuración: elige el archivo de configuración de compilación que creaste anteriormente.
Haz clic en Crear para guardar el activador de compilación.
Cada vez que envíes código nuevo a tu repositorio, se iniciará automáticamente una compilación y un despliegue en Firebase.
Para obtener más información sobre cómo crear activadores de Cloud Build, consulta el artículo Crear y gestionar activadores de compilación.
Ejemplo de código
Para ver un código de muestra de cómo desplegar en Firebase con Cloud Build, ve a deploy-firebase-example.
Siguientes pasos
- Consulta cómo realizar implementaciones azul/verde en Compute Engine.
- Consulta cómo desplegar en Cloud Run.
- Consulta cómo desplegar en GKE.
- Consulta cómo desplegar en Cloud Run Functions.
- Consulta cómo desplegar en App Engine.
- Consulta cómo solucionar errores de compilación.