Se hai abilitato le implementazioni automatiche, ogni volta che esegui il push di un nuovo commit nel ramo pubblicato nel 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 gli 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 corrente, oltre a una tabella che elenca la cronologia di tutte le implementazioni per questo backend.
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 le implementazioni in produzione a date o orari specifici.
Per attivare un'implementazione nella console Firebase:
- Nella scheda App Hosting, seleziona Visualizza dashboard per il backend per cui vuoi creare un'implementazione.
- Nella dashboard di backend, seleziona Crea implementazione.
- Seleziona il ramo di cui eseguire il deployment.
- Seleziona il commit da eseguire il deployment, 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 dell'implementazione. Al termine del processo di implementazione, l'implementazione viene visualizzata come implementazione attuale.
Per attivare un'implementazione nell'interfaccia a riga di comando Firebase, esegui questo comando e seleziona il ramo per l'implementazione quando richiesto:
firebase apphosting:rollouts:create BACKEND_ID
In alternativa, puoi avviare un'implementazione 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 implementazione con un commit specifico utilizzando l'opzione --git-commit
:
firebase apphosting:rollouts:create BACKEND_ID
--git_commit COMMIT_ID
Modificare le impostazioni di implementazione
Puoi modificare il ramo attivo per le implementazioni e disattivare o attivare le implementazioni automatiche utilizzando i controlli nella visualizzazione Impostazioni > Deployment della dashboard per un backend.
- Nella scheda App Hosting, seleziona Visualizza dashboard 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 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).