Implementa en Firebase

En esta página, se explica cómo implementar aplicaciones en Firebase con 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 API de Cloud Build, Firebase, and Resource Manager.

    Habilita las API

  • Para ejecutar los comandos de gcloud en 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 estar almacenado 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 mediante la instalación y la inicialización de Firebase.

Permisos de IAM obligatorios

  1. Abre la página IAM en la consola de Google Cloud:

    Abrir la página IAM

  2. Selecciona tu proyecto y haz clic en Open.

  3. En la tabla de permisos, busca el correo electrónico que termina con @cloudbuild.gserviceaccount.com y haz clic en el ícono de lápiz. Esta es la cuenta de servicio de Cloud Build.

  4. Agrega los roles Cloud Build Service Account, Firebase Admin y API Keys Admin.

  5. Haga clic en Save.

Cómo usar el compilador de comunidades firebase

Cloud Build proporciona una imagen del compilador de la comunidad de Firebase que puedes usar para invocar comandos de firebase en Cloud Build. Para usar este compilador en un archivo de configuración de Cloud Build, primero debes compilar la imagen y enviarla a Container Registry en tu proyecto.

Para compilar y enviar el compilador de comunidades de firebase:

  1. Navega al directorio raíz de tu proyecto.

  2. Clona el repositorio cloud-builders-community:

    git clone https://github.com/GoogleCloudPlatform/cloud-builders-community.git
    
  3. Navega a la imagen del compilador de firebase:

    cd cloud-builders-community/firebase
    
  4. Envía el compilador a tu proyecto, en el que REGION es una de las regiones de compilación compatibles:

    gcloud builds submit --region=REGION .
    
  5. Regresa al directorio raíz de su proyecto:

    cd ../..
    
  6. Quita el repositorio de tu directorio raíz:

    rm -rf cloud-builders-community/
    

Configura la implementación

Después de compilar el constructor de la comunidad firebase, puedes usar el paso de compilación firebase en tu archivo de configuración de compilación para implementarlo en Firebase:

  1. Crea un archivo de configuración de compilación llamado cloudbuild.yaml o cloudbuild.json, en el que project-id es el ID del proyecto de Google Cloud y firebase-project-id es el ID del proyecto de Firebase:

    YAML

          steps:
          - name: gcr.io/project-id/firebase
            args: ['deploy', '--project=firebase-project-id', '--only=hosting']
    

    JSON

    {
      "steps": [
       {
          "name": "gcr.io/project-id/firebase",
          "args": [
             "deploy",
             "--project",
             "firebase-project-id",
             "--only",
             "hosting"
           ]
      }
      ]
    }
    
  2. Usa este comando para comenzar a compilar mediante el archivo de configuración de compilación:

    gcloud builds submit --region=REGION --config config-file-path source-directory
    

    Aquí:

    • 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.
    • REGION es una de las regiones de compilación compatibles.

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:

  1. En tu repositorio, agrega un archivo de configuración de compilación con pasos para invocar el comando firebase deploy, en el que project-id es el ID del proyecto de Google Cloud:

    YAML

    steps:
          - name: gcr.io/project-id/firebase
            args: ['deploy', '--project=project-id', '--only=hosting']
    

    JSON

    {
      "steps": [
       {
          "name": "gcr.io/project-id/firebase",
          "args": [
             "deploy",
             "--project",
             "project-id",
             "--only",
             "hosting"
           ]
      }
      ]
    }
    
  2. Crea un activador con el archivo de configuración de compilación creado en el paso anterior:

    1. Abre la página Activadores en la consola de Google Cloud:

      Abrir la página Activadores

    2. Selecciona el proyecto en el menú desplegable del selector de proyectos, que se ubica en la parte superior de la página.

    3. Haz clic en Abrir.

    4. Haz clic en Crear activador.

      En la página Crear activador, ingresa la siguiente configuración:

      1. Ingresa un nombre para el activador.

      2. Selecciona el evento del repositorio para iniciar el activador.

      3. Selecciona el repositorio que contenga el código fuente y el archivo de configuración de compilación.

      4. Especifica la regex de la rama o el nombre de la etiqueta que iniciará el activador.

      5. Configuración: Elige el archivo de configuración de compilación que creaste con anterioridad.

    5. Haz clic en Crear para guardar el activador de compilación.

Cada vez que envíes código nuevo a tu repositorio, comenzarás automáticamente una compilación y una implementación en Firebase.

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 una muestra de código para implementar en Firebase con Cloud Build, dirígete a deploy-firebase-example.

¿Qué sigue?