Gestisci implementazioni e release

Se hai abilitato le implementazioni automatiche, ogni volta che esegui il push di un nuovo commit nel ramo live del repository GitHub, App Hosting esegue automaticamente il rollout di una nuova versione dell'app. Puoi controllare lo stato del rollout nella Firebase console o nel controllo GitHub di App Hosting.

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

Visualizzare i rollout

La console Firebase fornisce l'accesso a informazioni dettagliate su tutti i rollout della tua app.

Vai a Hosting e serverless> App Hosting, quindi seleziona Visualizza per il backend di cui vuoi visualizzare i rollout. La scheda Rollout del backend mostra una tabella che elenca la cronologia di tutti i rollout per questo backend.

Ogni voce di rollout contiene link al job Cloud Build e alla modifica o al commit che ha attivato il rollout, insieme a informazioni di base sull'autore, sulla data di creazione e sullo stato del rollout.

  • Il job Cloud Build è l'ambiente di build in cui App Hosting esegue il comando di build dell'app. Puoi accedere ai log Cloud Build facendo clic sull'ID build.
  • La modifica è il commit GitHub o un'altra azione che ha attivato il rollout.

Attivare manualmente un rollout

Se vuoi attivare manualmente un rollout dalla sorgente GitHub senza eseguire il push di un nuovo commit, puoi creare un rollout dalla Firebase console o dalla Firebase CLI. Questa opzione è utile in casi come:

  • Forzare la rigenerazione dei contenuti statici.
  • Consentire a un sistema CI/CD di attivare i rollout.
  • Limitare i rollout di produzione a date o orari specifici.

Per attivare un rollout nella console Firebase:

  1. Nella console Firebase, vai a Hosting e serverless > App Hosting.
  2. Fai clic su Visualizza per il backend per cui vuoi creare un rollout.
  3. Nel riepilogo della dashboard del backend, seleziona Crea rollout.
  4. Seleziona il ramo di cui eseguire il deployment.
  5. Seleziona il commit di cui eseguire il deployment, ovvero l'ultimo commit o un commit precedente specificato dal relativo ID commit.
  6. Seleziona Crea. Nella tabella della cronologia dei rollout vengono visualizzati lo stato e un numero build per il rollout. Al termine del processo di rollout, questo rollout viene visualizzato come rollout corrente.

Per attivare un rollout nella Firebase CLI, esegui il seguente comando e seleziona il ramo per il rollout quando richiesto:

firebase apphosting:rollouts:create BACKEND_ID

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

firebase apphosting:rollouts:create BACKEND_ID
--git_branch BRANCH_NAME

Puoi anche creare un rollout 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:

  • Eseguire il rollback all'istante senza ricompilare
  • Ricompilare ed eseguire il rollback a una versione precedente

Creare un rollback istantaneo

A volte potrebbe essere necessario ripristinare rapidamente una versione precedente dell'app, ad esempio se hai scoperto un bug critico in un rollout di cui è stato appena eseguito il deployment o se riscontri una build instabile che blocca i nuovi rollout. In questi casi, puoi ripristinare un'immagine container esistente a tua scelta da un rollout precedente. Questa immagine non viene ricompilata, ma utilizza il codice e la configurazione dell'ambiente di quando è stata compilata per la prima volta.

Per creare un rollback istantaneo:

  1. Nella console Firebase, vai a Hosting e serverless > App Hosting.
  2. Fai clic su Visualizza per il backend per cui vuoi creare un rollback.
  3. Seleziona la scheda Rollout.
  4. Nella tabella Cronologia del backend, seleziona il menu con tre puntini per una build precedente.
  5. Seleziona Esegui il rollback a questa build e conferma.

Ricompilare ed eseguire il rollback

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

Per ricompilare ed eseguire il rollback:

  1. Nella console Firebase, vai a Hosting e serverless > App Hosting.
  2. Fai clic su Visualizza dashboard per il backend per cui vuoi creare un rollback.
  3. Seleziona la scheda Rollout.
  4. Seleziona Crea rollout.
  5. Nella finestra di dialogo Crea un rollout, seleziona Commit precedente e poi inserisci l'ID commit della versione di cui vuoi eseguire la ricompilazione e il rollback. L'ID commit fa parte dei "Dettagli della modifica" di ogni rollout elencato nella cronologia dei rollout,racchiuso tra parentesi nell'etichetta.
  6. Seleziona Crea per avviare il rollback.

Modificare le impostazioni di rollout

Puoi modificare il ramo live per i rollout e disattivare o attivare i rollout automatici utilizzando i controlli nella visualizzazione Impostazioni > Deployment nella dashboard di un backend.

  1. Nella console Firebase, vai a Hosting e serverless > App Hosting.
  2. Fai clic su Visualizza per il backend in cui vuoi aggiornare le impostazioni di rollout.
  3. Nella dashboard del backend, seleziona Impostazioni. La visualizzazione predefinita mostra informazioni su domini e domini personalizzati.
  4. Seleziona la visualizzazione Deployment. In questa visualizzazione, puoi modificare il ramo live per i rollout e disattivare o attivare i rollout automatici. Inoltre, sono disponibili opzioni per impostare la directory root dell'app e l'ambiente per il backend (vedi Eseguire il deployment in più ambienti).