Nella maggior parte dei casi, ti consigliamo di utilizzare le implementazioni automatiche o le implementazioni attivate manualmente dalla console Firebase. Tuttavia, potresti avere bisogno di un flusso di deployment più personalizzato. App Hosting offre diverse opzioni per l'implementazione personalizzata.
Esegui il deployment dall'origine con l'interfaccia a riga di comando Firebase
L'interfaccia a riga di comando Firebase ti consente di eseguire il push del codice sorgente e della configurazione dell'app direttamente dalla tua macchina locale a Firebase. Questa operazione è utile se hai altri deployment Firebase (come regole di sicurezza o funzioni) e vuoi eseguire il deployment della tua app web e dei servizi di backend insieme a un singolo comando CLI.
Al momento del deployment, App Hosting carica il codice sorgente in un bucket Google Cloud Storage, esegue il comando di build del framework in Cloud Build ed esegue il deployment degli artefatti finali in Cloud Run e Cloud CDN. App Hosting utilizza lo stesso processo di build per i deployment di origine locali e per i deployment GitHub.
Per eseguire il deployment dell'app dall'origine locale:
- Esegui
firebase init apphosting
nella directory del progetto locale. - Al prompt, seleziona Utilizza un progetto esistente, quindi seleziona il progetto Firebase scelto.
Seleziona un backend nuovo o esistente in cui eseguire il deployment. Questo passaggio configura i deployment di App Hosting per la tua directory locale, chiedendoti le informazioni necessarie per eseguire il deployment dell'app:App Hosting
- L'ID del backend di cui eseguire il deployment
- La regione in cui eseguire il deployment (se stai creando un nuovo backend)
- Il percorso della directory principale del codice dell'applicazione
App Hosting salva le preferenze di deployment in
firebase.json
(creando il file nel progetto locale se non esiste). Una volta completata l'inizializzazione, puoi eseguirefirebase deploy
per eseguire il deployment del codice sorgente in App Hosting.
Se hai configurato implementazioni di origini locali per più backend (ovvero
sono presenti più voci backendId
in firebase.json
), firebase deploy
verrà
implementato in ciascuno di questi backend. Per eseguire il deployment su un backend specifico, utilizza
firebase deploy --only apphosting:backendId
Esempio di 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",
],
},
]
}
Esegui il deployment con Terraform
Se hai bisogno di un maggiore controllo sul processo di build e sull'ambiente di deployment, puoi eseguire il deployment utilizzando Terraform. Terraform ti consente di definire e gestire le risorse App Hosting utilizzando file di configurazione dichiarativi e offre la possibilità di eseguire il deployment della tua immagine container predefinita direttamente su App Hosting anziché fare affidamento su App Hosting per la compilazione dal codice sorgente.
Se non hai mai utilizzato Terraform, consulta la sezione Inizia a utilizzare Terraform e Firebase. Se hai già familiarità con Terraform, puoi iniziare con i file di configurazione di esempio e altre risorse App Hosting.
Esegui il deployment utilizzando Firebase Studio
Quando crei un'app web con l'agente Prototipazione app in Firebase Studio, puoi pubblicarla o eseguirne il deployment su Firebase App Hosting direttamente da Firebase Studio. Consulta Pubblicare l'app con App Hosting.