App Hosting gestisce una complessa serie di attività in background per semplificare il deployment della tua app. Questa pagina descrive le parti principali di questo flusso di attività, fornendo informazioni sui punti in cui potresti voler personalizzare il flusso a seconda delle esigenze della tua app.
Termini e definizioni chiave
Per comprendere i dettagli del flusso App Hosting, è utile definire alcuni termini in modo molto specifico. Ecco i termini chiave fondamentali:
- Backend: la raccolta di risorse gestite che App Hosting crea per compilare ed eseguire la tua app web.
- Build:una revisione specifica della tua app, in genere collegata a un commit Git. La procedura di creazione di una build prevede numerosi processi secondari, in particolare la creazione dell'app in Cloud Build e il deployment di una revisione (inizialmente la pubblicazione del 0% del traffico fino al suo lancio) in Cloud Run.
- Implementazione: il processo di impostazione di una build per la pubblicazione attiva del traffico. Quando viene attivato automaticamente da un commit Git, App Hosting crea prima una build utilizzando il branch attivo, poi crea un'implementazione per indirizzare il traffico live.
- Branch live: il branch del repository GitHub che viene implementato nell'URL live. Spesso è il ramo in cui vengono uniti i rami delle funzionalità o di sviluppo.
Google Cloud e architettura App Hosting
App Hosting orchestra un insieme di prodotti Google Cloud per consentirti di eseguire il deployment, pubblicare e monitorare la tua app web. Le app sono create con Cloud Build, pubblicate su Cloud Run e memorizzate nella cache in Cloud CDN. Servizi integrati come Cloud Secret Manager proteggono le tue chiavi API.

- Quando viene eseguito il push di un commit nel ramo live, Google Cloud Developer Connect invia un evento a Firebase App Hosting.
- In risposta a questo evento, Firebase App Hosting crea una nuova build per
il backend connesso al repository.
- Innanzitutto, Firebase App Hosting crea una nuova build Cloud Build per il tuo commit. In questo job, i buildpack di Google Cloud determinano quale framework viene utilizzato nella tua applicazione per creare un container e una configurazione (incluse variabili di ambiente, secret, istanze minime o massime, memoria di concorrenza, CPU e configurazione VPC) adatti alla tua applicazione. Per ulteriori informazioni, consulta la App Hosting procedura di build.
- Al termine del job Cloud Build, il container viene archiviato in un repository Artifact Registry dedicato a Firebase App Hosting. Firebase App Hosting aggiunge quindi una nuova revisione Cloud Run a un servizio Cloud Run utilizzando l'immagine e la configurazione.
- Una volta completata e verificata l'integrità della revisione Cloud Run, Firebase App Hosting modifica la configurazione del traffico in modo da indirizzare tutte le nuove richieste alla nuova revisione Cloud Run. A questo punto, l'implementazione è completa.
- Quando una richiesta viene inviata a un sito web ospitato su Firebase App Hosting, la richiesta viene gestita da Google Cloud Load Balancer con Cloud CDN abilitato. Le richieste non memorizzate nella cache vengono inviate al tuo servizio Cloud Run. Consulta Memorizzare nella cache i contenuti dell'app per indicazioni su come ottimizzare le prestazioni con Cloud CDN.
Integrazione del framework
App Hosting fornisce supporto preconfigurato per la creazione e il deployment di app web sviluppate in questi framework:
- Next.js 13.5.x e versioni successive
- Angular 18.2.x e versioni successive
Consulta le pianificazioni dell'assistenza per dettagli su versioni e livelli di assistenza specifici.
Oltre a Next.js e Angular, App Hosting supporta anche qualsiasi framework web in grado di fornire un output di build che corrisponda alla nostra specifica del bundle di output. Per ulteriori informazioni su framework, adattatori di framework e strumenti correlati supportati da App Hosting, consulta Framework e strumenti per App Hosting.
Come funziona l'integrazione del repository App Hosting
L'importante connessione tra il repository GitHub e il backend App Hosting viene gestita da Developer Connect, la piattaforma di connettività di Google Cloud per strumenti DevOps esterni. Durante la creazione di un backend App Hosting, il flusso di lavoro dell'interfaccia utente di Developer Connect ti guida attraverso l'installazione dell'app Firebase GitHub. I passaggi chiave di questo processo sono:
- Concedi a Developer Connect il ruolo Amministratore Secret Manager. In questo modo, il sistema può archiviare le credenziali in modo sicuro come "secret" in Cloud Secret Manager.
- Autorizzi l'app GitHub di Firebase ad accedere al tuo repository GitHub. Potresti aver bisogno di autorizzazioni GitHub aggiuntive per accedere al repository corretto.
- Developer Connect archivia un token di autorizzazione GitHub dedicato nel repository Secret Manager del tuo progetto. Non modificare o eliminare questo token.
Inoltre, App Hosting si integra con l'API GitHub Checks per fornire un controllo per i rollout. Questo controllo ti consente di visualizzare lo stato dell'implementazione in GitHub e di eseguire il debug del processo di deployment in caso di errori.
Integrazione con Firebase e altri servizi Google
App Hosting configura gli ambienti di build e runtime in modo da poter inizializzare l'SDK Firebase Admin con le credenziali predefinite dell'applicazione Google. In questo modo, il backend può comunicare con altri prodotti Firebase sia in fase di compilazione che di runtime. Consulta Integrare gli SDK Firebase nella tua app web per ulteriori informazioni sull'inizializzazione dell'app e su altri argomenti relativi all'SDK Firebase.
App Hosting località
App Hosting crea le risorse di backend in una posizione specifica, chiamata regione primaria. Sebbene App Hosting si integri con una CDN globale per una distribuzione rapida, i contenuti non memorizzati nella cache vengono pubblicati dalla regione principale della tua app. Questa flessibilità nella posizione della tua app web offre vantaggi chiave:
- Prestazioni migliorate e latenza ridotta avvicinando geograficamente i dati agli utenti.
- Un errore catastrofico per App Hosting in una regione non influirebbe sulle app web di cui è stato eseguito il deployment in altre regioni.
Puoi scegliere una qualsiasi di queste regioni quando crei un backend App Hosting dalla console o dalla CLI Firebase:
us-central1
(Iowa)asia-east1
(Taiwan)europe-west4
(Paesi Bassi)
Il service account di backend App Hosting
Durante la build e al runtime, il backend App Hosting esegue l'autenticazione con altri servizi Google con un service account. La prima volta che attivi App Hosting in un progetto Firebase, viene creato un service account predefinito per questi scopi:
firebase-app-hosting-compute@PROJECT ID.iam.gserviceaccount.com
Questo account di servizio si applica a tutti i backend per impostazione predefinita e dispone di un insieme minimo di autorizzazioni per consentirti di creare, eseguire e monitorare la tua app. Dispone inoltre dell'autorizzazione per autenticare l'SDK Admin con le credenziali predefinite dell'applicazione, per eseguire operazioni come il caricamento dei dati da Cloud Firestore. Consulta Ruoli App Hosting di Firebase.
Se la tua app deve interagire con altri servizi Google in fase di build o da un backend in esecuzione, puoi personalizzare l'account di servizio predefinito aggiungendo ruoli. Ad esempio, se la tua app richiede autorizzazioni per Vertex AI, potresti dover aggiungere
roles/aiplatform.user
o un ruolo correlato.