Esegui il deployment nei canali di anteprima e in quelli pubblicati tramite le richieste di pull di GitHub

Puoi integrare i deployment in Firebase Hosting tramite una GitHub Action. Ecco cosa può fare questa GitHub Action per te:

  • Crea un nuovo canale in anteprima (e il relativo URL di anteprima) per ogni richiesta di pull nel repository GitHub.

  • Aggiunge un commento alla richiesta di pull con l'URL di anteprima in modo che tu e ogni revisore possiate visualizzare e testare le modifiche della richiesta di pull in una versione "anteprima" dell'app.

    immagine del commento della richiesta di pull dell'azione GitHub con l'URL di anteprima

  • Aggiorna l'URL di anteprima con le modifiche di ogni commit eseguendo automaticamente il deployment nel canale in anteprima associato. L'URL non cambia con ogni nuovo commit.

  • (Facoltativo) Esegue il deployment dello stato attuale del repository GitHub nel canale live quando viene eseguito il merge della richiesta di pull.

Promemoria: quando utilizzi gli URL di anteprima, l'app interagisce con le risorse di backend reali del progetto Firebase.

Configurare la GitHub Action per il deployment in Firebase Hosting

  1. Crea un repository GitHub (pubblico o privato) o utilizzane uno esistente. Devi disporre delle autorizzazioni di amministratore per il repository.

  2. In una versione locale del repository, configura Firebase Hosting utilizzando il firebase init comando.

    • Se NON hai configurato Hosting, esegui questa versione del comando dalla directory principale locale:

      firebase init hosting
    • Se hai GIÀ configurato Hosting, devi solo configurare la parte della GitHub Action di Hosting. Esegui questa versione del comando dalla directory principale locale:

      firebase init hosting:github
  3. Segui le istruzioni dell'interfaccia a riga di comando e il comando si occuperà automaticamente della configurazione della GitHub Action:

    • Crea un account di servizio nel progetto Firebase con l'autorizzazione per il deployment in Firebase Hosting.

    • Cripta la chiave JSON di questo account di servizio e la carica nel repository GitHub specificato come secret di GitHub.

    • Scrive i file di configurazione yaml del flusso di lavoro di GitHub che fanno riferimento al secret appena creato. Questi file configurano la GitHub Action per il deployment in Firebase Hosting.

  4. In GitHub, crea un nuovo ramo ed esegui il commit dei file yaml del flusso di lavoro creati dall'interfaccia a riga di comando.

  5. Pubblica il ramo nel repository GitHub.

  6. Esegui il merge del ramo.

Ecco fatto. Ogni richiesta di pull successiva in questo repository GitHub avrà automaticamente il proprio "URL di anteprima".

Scopri di più sulla GitHub Action

  • Firebase gestisce la GitHub Action "Deploy to Firebase Hosting" come progetto open source. Visualizza il codice sorgente.

  • La GitHub Action "Deploy to Firebase Hosting" consente un'ulterazione configurazione, ad esempio la personalizzazione della data di scadenza di un canale in anteprima o l'impostazione di un canale non live per il deployment quando viene eseguito il merge di una richiesta di pull. Scopri le opzioni di configurazione disponibili.

  • Scopri di più su GitHub Actions, in generale.