Gestisci implementazioni e release

Se hai attivato le implementazioni automatiche, ogni volta che esegui il push di un nuovo commit nel ramo attivo del tuo repository GitHub, App Hosting implementa automaticamente una nuova versione della tua app. Puoi controllare lo stato dell'implementazione nella console Firebase o nel controllo GitHub App Hosting.

Inoltre, App Hosting supporta le implementazioni attivate manualmente per l'integrazione CI/CD o per qualsiasi altro caso in cui vuoi forzare un'implementazione.

Visualizzare le implementazioni

La console Firebase fornisce l'accesso a informazioni dettagliate su tutti gli implementamenti della tua app. Nella scheda App Hosting, seleziona Visualizza dashboard per il backend di cui vuoi visualizzare gli implementamenti. La dashboard visualizza informazioni sull'implementazione in corso, oltre a una tabella che elenca la cronologia di tutte le implementazioni per questo backend.

Screenshot della visualizzazione delle implementazioni della console

Ogni implementazione contiene un commit Git, un job Cloud Build e una revisione Cloud Run.

  • Il commit Git è lo snapshot del repository al momento della creazione dell'implementazione.
  • Il job Cloud Build è l'ambiente di compilazione in cui App Hosting esegue il comando di compilazione della tua app. Puoi accedere ai log Cloud Build facendo clic sull'ID build nella Console Firebase.
  • La revisione Cloud Run è l'ambiente di runtime per la tua app web. Puoi scoprire di più sulla configurazione di runtime di un rollout (ad esempio i limiti di CPU e memoria e le variabili di ambiente) facendo clic sul menu con tre puntini e selezionando Visualizza revisione Cloud Run.

Attivare manualmente un'implementazione

Se vuoi attivare manualmente un'implementazione dall'origine GitHub senza spingere un nuovo commit, puoi creare un'implementazione dalla console Firebase o dalla CLI Firebase. Questa opzione è utile in casi come:

  • Forzare la rigenerazione di contenuti statici.
  • Consentire a un sistema CI/CD di attivare le implementazioni.
  • Limitare gli implementamenti in produzione a date o orari specifici.

Per attivare un'implementazione nella console Firebase:

  1. Nella scheda App Hosting, seleziona Visualizza dashboard per il backend per cui vuoi creare un'implementazione.
  2. Nella dashboard di backend, seleziona Crea implementazione.
  3. Seleziona il ramo da eseguire.
  4. Seleziona il commit da eseguire il deployment, ovvero l'ultimo commit o un commit precedente specificato dal relativo ID commit.
  5. Seleziona Crea. Lo stato e un numero di build per l'implementazione vengono visualizzati nella tabella della cronologia dell'implementazione. Al termine del processo di implementazione, questo viene visualizzato come implementazione corrente.

Per attivare un'implementazione nell'interfaccia a riga di comando Firebase, esegui il seguente comando e seleziona il ramo per l'implementazione quando richiesto:

firebase apphosting:rollouts:create BACKEND_ID

In alternativa, puoi avviare l'implementazione dell'ultimo commit per un ramo specifico utilizzando l'opzione --git-branch:

firebase apphosting:rollouts:create BACKEND_ID
--git_branch BRANCH_NAME

Puoi anche creare un implementazione con un commit specifico utilizzando l'opzione --git-commit:

firebase apphosting:rollouts:create BACKEND_ID
--git_commit COMMIT_ID

Ripristinare un rollout precedente

App Hosting offre due opzioni per ripristinare un rollout precedente:

  • Esegui il rollback immediatamente senza ricostruire
  • Ricostruire ed eseguire il rollback a una versione precedente

Creare un rollback istantaneo

A volte potresti dover ripristinare rapidamente una versione precedente dell'app, ad esempio se hai rilevato un bug critico in un'implementazione appena eseguita o se stai riscontrando un problema di build che blocca i nuovi implementazioni. In questi casi, puoi ripristinare un'immagine container esistente di tua scelta da un rollout precedente. Questa immagine non viene ricostruita, ma utilizza il codice e la configurazione dell'ambiente della prima compilazione.

Per creare un rollback istantaneo:

  1. Nella scheda Hosting app, seleziona Visualizza dashboard per il backend per cui vuoi creare un rollback.
  2. Nella tabella Cronologia implementazione per il backend, seleziona il menu con tre puntini per una build precedente.
  3. Seleziona Esegui il rollback a questa build e conferma.

Ricostruisci e esegui il rollback

Se vuoi ripristinare una versione precedente dell'app, ma mantenere la configurazione attuale, puoi ricostruire l'app nell'ambito della procedura di rollback. Ad esempio, se la versione più recente ha aggiornato un valore della chiave API in Secret Manager, la ricostruzione può garantire che la nuova chiave venga utilizzata nell'app dopo il rollback.

Per eseguire la ricostruzione e il rollback:

  1. Nella scheda Hosting di app, seleziona Visualizza dashboard per il backend per cui vuoi creare un rollback.
  2. Seleziona Crea implementazione.
  3. Nella finestra di dialogo Crea un rollout, seleziona Commit precedente e inserisci l'ID commit della versione di cui vuoi eseguire il ricostruzioni e il rollback. L'ID commit fa parte della sezione "Dettagli della modifica" per ogni implementazione elencata nella cronologia delle implementazioni,racchiuso tra parentesi nell'etichetta.
  4. Seleziona Crea per iniziare il rollback.

Modificare le impostazioni di implementazione

Puoi modificare il ramo in produzione per le implementazioni e disattivare o attivare le implementazioni automatiche utilizzando i controlli nella visualizzazione Impostazioni > Deployment della dashboard per un backend.

  1. Nella scheda App Hosting, seleziona Visualizza dashboard per il backend in cui vuoi aggiornare le impostazioni di implementazione.
  2. Nella dashboard di backend, seleziona Impostazioni. La visualizzazione predefinita mostra informazioni su domini e domini personalizzati.
  3. Seleziona la visualizzazione Deployment. In questa visualizzazione, puoi modificare il ramo attivo per le implementazioni e disattivare o attivare le implementazioni automatiche. Inoltre, esistono opzioni per impostare la home directory dell'app e l'ambiente per il backend (vedi Eseguire il deployment in più ambienti).