Implementa en Firebase

En esta página, se explica cómo implementar aplicaciones 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

  • Enable the Cloud Build, Firebase, and Resource Manager APIs.

    Enable the APIs

  • Para ejecutar los comandos de gcloud de 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

  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 de la cuenta de servicio que usas para la compilación y haz clic en el ícono de lápiz.

  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 un Imagen del compilador de la comunidad de Firebase que se puede usar para invocar comandos firebase en Cloud Build. Para usar este compilador en una configuración de Cloud Build primero debes compilar la imagen y enviarla a Container Registry 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, que es REGION. 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 tu proyecto de Google Cloud ID y firebase-project-id es el ID de tu 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
    

    En el ejemplo anterior, se ilustra lo siguiente:

    • 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, sigue estos pasos:

  1. En tu repositorio, agrega un archivo de configuración de compilación con pasos para invocar al Comando firebase deploy, donde 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 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 una muestra de código para implementar en Firebase con Cloud Build, ve a deploy-firebase-example.

¿Qué sigue?