Se hai attivato i rollout automatici, ogni volta che esegui il push di un nuovo commit nel ramo live del repository GitHub App Hosting viene eseguito automaticamente il rollout di una nuova versione dell'app. Puoi controllare lo stato del rollout nella console Firebase o nel controllo GitHub App Hosting.
Inoltre, App Hosting supporta le implementazioni attivate manualmente per l'integrazione CI/CD o qualsiasi altro caso in cui vuoi forzare un'implementazione.
Visualizza implementazioni
La console Firebase fornisce l'accesso a informazioni dettagliate su tutti i rollout della tua app. In App Hosting, seleziona Visualizza per il backend di cui vuoi visualizzare i rollout. La scheda Implementazioni per il backend mostra una tabella che elenca la cronologia di tutte le implementazioni per questo backend.
Ogni voce di implementazione contiene link al job Cloud Build e alla modifica o al commit che ha attivato l'implementazione, insieme a informazioni di base sull'autore, la data di creazione e lo stato dell'implementazione.
- Il job Cloud Build è l'ambiente di build in cui App Hosting esegue il comando di build della tua app. Puoi accedere ai log di Cloud Build facendo clic sull'ID build.
- La Modifica è il commit GitHub o un'altra azione che ha attivato l'implementazione.
Attivare manualmente un'implementazione
Se vuoi attivare manualmente un'implementazione dalla tua origine GitHub senza eseguire il push di un nuovo commit, puoi creare un'implementazione dalla console Firebase o dalla CLI Firebase. Questa opzione è utile in casi come:
- Forzare la rigenerazione dei contenuti statici.
- Consentire a un sistema CI/CD di attivare le implementazioni.
- Limitare i rollout della produzione a date o orari specifici.
Per attivare un lancio nella console Firebase:
- In App Hosting, seleziona Visualizza per il backend per cui vuoi creare un rollout.
- Nel riepilogo della dashboard del backend, seleziona Crea implementazione.
- Seleziona il ramo di cui eseguire il deployment.
- Seleziona il commit da implementare, ovvero l'ultimo commit o un commit precedente specificato dal relativo ID commit.
- Seleziona Crea. Lo stato e un numero di build per l'implementazione vengono visualizzati nella tabella della cronologia delle implementazioni. Al termine del processo di implementazione, questa implementazione viene visualizzata come l'implementazione corrente.
Per attivare un rollout nella CLI Firebase, esegui questo comando e seleziona il ramo per il rollout quando ti viene 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 lancio precedente
App Hosting offre due opzioni per ripristinare un precedente rollout:
- Esegui il rollback istantaneamente senza ricompilare
- Ricompilare ed eseguire il rollback a una versione precedente
Crea 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 appena implementato o se riscontri un problema di instabilità della build che blocca i nuovi rollout. In questi casi, puoi ripristinare un'immagine container esistente a tua scelta da un precedente rollout. Questa immagine non viene ricompilata, ma utilizza la configurazione del codice e dell'ambiente dalla prima compilazione.
Per creare un rollback istantaneo:
- In App Hosting, seleziona Visualizza per il backend per cui vuoi creare un rollback.
- Seleziona la scheda Implementazioni.
- Nella tabella Cronologia del backend, seleziona il menu con tre puntini per una build precedente.
- Seleziona Esegui il rollback a questa build e conferma.
Ricostruzione e rollback
Se vuoi ripristinare una versione precedente dell'app, ma mantenere la configurazione attuale, puoi ricompilare l'app nell'ambito della procedura di rollback. Ad esempio, se l'ultima versione 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:
- In App Hosting, seleziona Visualizza dashboard per il backend per cui vuoi creare un rollback.\
- Seleziona la scheda Implementazioni.
- Seleziona Crea implementazione.
- Nella finestra di dialogo Crea un rollout, seleziona Commit precedente e poi inserisci l'ID commit per la versione che vuoi ricompilare e ripristinare. L'ID commit fa parte dei "Dettagli della modifica" per ogni implementazione elencata nella cronologia delle implementazioni,tra parentesi nell'etichetta.
- Seleziona Crea per iniziare il rollback.
Modificare le impostazioni di implementazione
Puoi modificare il ramo live per i rollout e disattivare o attivare i rollout automatici utilizzando i controlli nella visualizzazione Impostazioni > Deployment nella dashboard per un backend.
- In App Hosting, seleziona Visualizza per il backend in cui vuoi aggiornare le impostazioni di implementazione.
- Nella dashboard di backend, seleziona Impostazioni. La visualizzazione predefinita mostra informazioni su domini e domini personalizzati.
- Seleziona la visualizzazione Implementazione. In questa visualizzazione, puoi modificare il ramo live per le implementazioni e disabilitare o abilitare le implementazioni automatiche. Inoltre, sono disponibili opzioni per impostare la directory principale dell'app e l'ambiente per il backend (vedi Eseguire il deployment in più ambienti).