La mayoría de las veces, te recomendamos usar los lanzamientos automáticos o los lanzamientos activados de forma manual 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 tus servicios de backend con un solo comando de CLI.
Durante la implementación, App Hosting sube tu código fuente a un bucket de Google Cloud Storage, ejecuta el comando de compilación del 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 las implementaciones de GitHub.
Para implementar tu app desde la fuente local, haz lo siguiente:
- Ejecuta
firebase init apphosting
en el directorio de tu proyecto local. - En el mensaje, selecciona Usar un proyecto existente y, luego, selecciona el proyecto de Firebase que elegiste.
Selecciona un backend nuevo o existente para la implementación. Con este paso, se configuran las implementaciones de App Hosting para tu directorio local y se te solicita la información que App Hosting necesita para implementar tu app correctamente:
- Es el ID del backend al que se implementará.
- La región a la que se implementará (si se crea un backend nuevo)
- Es la 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 la inicialización se complete correctamente, puedes ejecutarfirebase deploy
para implementar tu código fuente en App Hosting.
Si tienes implementaciones de fuentes locales 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 una 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 implementarlo 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 precompilada directamente en App Hosting en lugar de depender de App Hosting para compilar desde tu código fuente.
Si es la primera vez que usas 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.