En esta página, se explica cómo implementar aplicaciones en Firebase mediante Cloud Build. Si eres nuevo en Cloud Build, primero lee las guías de inicio rápido y la descripción general de la configuración de compilación.
Antes de comenzar
Habilita las APIs de Cloud Build, Firebase y Resource Manager.
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (
roles/serviceusage.serviceUsageAdmin), que contiene el permisoserviceusage.services.enable. Obtén más información para otorgar roles.
Para ejecutar los comandos de
gcloudde esta página, instala Google Cloud CLI.Mantén a mano el código fuente de tu aplicación incluido
firebase.json. Tu código fuente debe almacenarse en un repositorio, como Cloud Source Repositories, GitHub o Bitbucket.Si aún no tienes un proyecto para implementar en Firebase, puedes crear un proyecto predeterminado instalando y también inicializando Firebase.
Permisos de IAM obligatorios
-
En la Google Cloud consola, ve a la settings página Permisos de Cloud Build:
Selecciona la cuenta de servicio para tu compilación.
Establece el estado de los siguientes roles en Habilitado:
- Cuenta de servicio de Cloud Build | Permite que la cuenta de servicio heredada de Cloud Build actualice las compilaciones, escriba registros de compilación y almacene artefactos de compilación.
- Administrador de Firebase | Permite que Cloud Build acceda a Firebase.
- Visualizador de claves de API | Permite que Cloud Build acceda a la configuración actual de Firebase Hosting durante la implementación de la compilación.
Usa la imagen de Docker firebase
Cloud Build proporciona una imagen del compilador que se usa para invocar comandos firebase en Cloud Build. Para usar este compilador 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.yamlocloudbuild.jsondonde PROJECT_ID es tu Google Cloud ID de proyecto y FIREBASE_PROJECT_ID es tu ID del proyecto de Firebase:YAML
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-toolscon
name: "us-docker.pkg.dev/firebase-cli/us/firebase":x.y.zUsa este comando para comenzar a compilar con el archivo de configuración de compilación:
gcloud builds submit --region=REGION --config CONFIG_FILE_PATH SOURCE_DIRECTORYAquí:
- REGION es una de las regiones de compilación admitidas.
- CONFIG_FILE_PATH es la ruta de acceso al archivo de configuración de compilación.
- SOURCE_DIRECTORY es la ruta o la URL del código fuente.
Implementación continua
Puedes automatizar la implementación del software en Firebase si creas activadores de Cloud Build. Puedes configurar activadores para compilar y, luego, implementar imágenes cada vez que actualices tu código fuente.
Para automatizar tu implementación en Firebase, haz lo siguiente:
En tu repositorio, agrega un archivo de configuración de compilación con pasos para invocar el
firebase deploycomando, en el que PROJECT_ID es el ID de tu Google Cloud proyecto:YAML
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 generado en el paso anterior:
Abre la página Activadores en la Google Cloud consola:
Selecciona el proyecto en el menú desplegable del selector de proyectos, que se ubica en la parte superior de la página.
Haz clic en Abrir.
Haz clic en Crear activador.
En la página Crear activador, ingresa la siguiente configuración:
Ingresa un nombre para el activador.
Selecciona el evento del repositorio para iniciar el activador.
Selecciona el repositorio que contenga el código fuente y el archivo de configuración de compilación.
Especifica la regex de la rama o el nombre de la etiqueta que iniciará el activador.
Configuración: Elige el archivo de configuración de compilación que creaste con anterioridad.
Haz clic en Crear para guardar el activador de compilación.
Cada vez que envíes código nuevo a tu repositorio, comenzarás a compilar y, luego, implementar en Firebase de forma automática.
Para obtener más información sobre cómo crear activadores de Cloud Build, consulta Crea y administra activadores de compilación.
Ejemplo de código
Para ver un muestra de código para implementar en Firebase con Cloud Build, consulta deploy-firebase-example.
¿Qué sigue?
- Obtén información para realizar implementaciones azul-verde en Compute Engine.
- Consulta Implementa en Cloud Run.
- Consulta Implementa en GKE.
- Obtén información para implementar en funciones de Cloud Run.
- Consulta Implementa en App Engine.
- Obtén más información para solucionar errores de compilación.