Formas alternativas de implementar en App Hosting

La mayoría de las veces, recomendamos usar lanzamientos automáticos o lanzamientos activados manualmente desde Firebase console. Sin embargo, es posible que necesites un flujo de implementación más personalizado. App Hosting tiene varias opciones para la implementación personalizada.

Implementa desde la fuente con la CLI de Firebase

La CLI de Firebase te permite enviar el código fuente y la configuración de tu app directamente desde tu máquina local a Firebase. Esto es conveniente si tienes otras implementaciones de Firebase (como reglas de seguridad o funciones) y deseas implementar tu app web y los servicios de backend con un solo comando de la CLI.

Durante la implementación, App Hosting sube tu código fuente a un bucket de Cloud Storage de Google Cloud, ejecuta el comando de compilación de tu framework en Cloud Build y, luego, implementa los artefactos finales en Cloud Run y Cloud CDN. App Hosting usa el mismo proceso de compilación para las implementaciones de fuentes locales que para las implementaciones de GitHub.

Para implementar tu app desde una fuente local, haz lo siguiente:

  1. Ejecuta firebase init apphosting en el directorio de tu proyecto local.
  2. En el mensaje, selecciona Usar un proyecto existente y, luego, selecciona el proyecto de Firebase elegido.
  3. Selecciona un backend nuevo o existente para realizar la implementación. Este paso configura las implementaciones de App Hosting para tu directorio local y te solicita la información que App Hosting necesita para implementar tu app correctamente:

    1. ID del backend en el que se realizará la implementación
    2. Región en la que se realizará la implementación (si se crea un backend nuevo)
    3. Ruta de acceso al directorio raíz del código de la aplicación

    App Hosting guarda tus preferencias de implementación en firebase.json (crea el archivo en tu proyecto local si no existe). Una vez que se complete la inicialización correctamente, puedes ejecutar firebase deploy para implementar tu código fuente en App Hosting.

Si tienes implementaciones de origen local configuradas para varios backends (es decir, hay varias entradas de backendId en firebase.json), firebase deploy se implementará en cada uno de esos backends. Para realizar la implementación en un backend específico, usa firebase deploy --only apphosting:backendId.

Ejemplo de firebase.json

{
  "apphosting": [
    {
      "backendId": "my-backend",
      // rootDir specifies the directory containing the app to deploy, but the entire
      // parent directory of firebase.json will be zipped and uploaded to ensure that
      // dependencies outside of the app directory will be available at build time.
      "rootDir": "./my-app",
      "ignore": [
        "node_modules",
        ".git",
        "firebase-debug.log",
        "firebase-debug.*.log",
        "functions",
      ],
    },
  ]
}

Implementa con Terraform

Si necesitas más control sobre el proceso de compilación y el entorno implementado, puedes realizar la implementación con Terraform. Terraform te permite definir y administrar tus recursos de App Hosting con archivos de configuración declarativos, y te brinda la capacidad de implementar tu propia imagen de contenedor prediseñada directamente en App Hosting en lugar de depender de App Hosting para compilar desde tu código fuente.

Si no conoces Terraform, consulta Comienza a usar Terraform y Firebase. Si ya conoces Terraform, puedes comenzar con archivos de configuración de muestra y otros recursos de App Hosting.

Implementa con Firebase Studio

Cuando creas una app web con el agente de Prototipado de apps en Firebase Studio, puedes publicarla o implementarla en Firebase App Hosting directamente desde Firebase Studio. Consulta Publica tu app con App Hosting.