Deployment in Firebase

Questa pagina spiega come eseguire il deployment delle applicazioni su Firebase utilizzando Cloud Build. Se non hai mai utilizzato Cloud Build, leggi prima le guide di avvio rapido e la panoramica della configurazione di compilazione.

Prima di iniziare

  • Enable the Cloud Build, Firebase, and Resource Manager APIs.

    Enable the APIs

  • Per eseguire i comandi gcloud in questa pagina, installa Google Cloud CLI.

  • Tieni a portata di mano il codice sorgente dell'applicazione, incluso firebase.json. Il codice sorgente deve essere archiviato in un repository, ad esempio Cloud Source Repositories, GitHub o Bitbucket.

  • Se non hai ancora un progetto da implementare in Firebase, puoi creare un progetto predefinito installando e inizializzando Firebase.

Autorizzazioni IAM richieste

  1. Apri la pagina IAM nella console Google Cloud :

    Apri la pagina IAM

  2. Seleziona il progetto e fai clic su Apri.

  3. Nella tabella delle autorizzazioni, individua l'email dell'account di servizio che stai utilizzando per la build e fai clic sull'icona a forma di matita.

  4. Aggiungi i ruoli Cloud Build Service Account(roles/cloudbuild.builds.builder), Firebase Admin (roles/firebase.admin) eAPI Keys Admin (roles/serviceusage.apiKeysAdmin) al account di servizio.

  5. Fai clic su Salva.

Utilizzo dell'immagine Docker firebase

Cloud Build fornisce un'immagine builder che puoi utilizzare per richiamare i comandi firebase in Cloud Build. Per utilizzare questo builder in un file di configurazione di Cloud Build, puoi utilizzare il passaggio di build firebase per eseguire il deployment su Firebase:

  1. Crea un file di configurazione della build denominato cloudbuild.yaml o cloudbuild.json, dove PROJECT_ID è il tuo Google Cloud ID progetto e FIREBASE_PROJECT_ID è il tuo ID progetto Firebase:

    YAML

    steps:
    - name: "us-docker.pkg.dev/firebase-cli/us/firebase"
       args: ['deploy', '--project=FIREBASE_PROJECT_ID', '--only=hosting']
    ## Or, target a specific version of firebase-tools
    - name: "us-docker.pkg.dev/firebase-cli/us/firebase":x.y.z
       args: ['deploy', '--project=FIREBASE_PROJECT_ID', '--only=hosting']
    

    JSON

    {
      "steps": [
       {
          "name": "us-docker.pkg.dev/firebase-cli/us/firebase",
          "args": [
             "deploy",
             "--project",
             "FIREBASE_PROJECT_ID",
             "--only",
             "hosting"
           ]
      }
      ]
    }
    

    Puoi scegliere una versione specifica di firebase-tools utilizzando
    name: "us-docker.pkg.dev/firebase-cli/us/firebase":x.y.z

  2. Avvia la build utilizzando il file di configurazione della build:

    gcloud builds submit --region=REGION --config CONFIG_FILE_PATH SOURCE_DIRECTORY
    

    Dove:

    • REGION è una delle regioni di build supportate.
    • CONFIG_FILE_PATH è il percorso del file di configurazione della build.
    • SOURCE_DIRECTORY è il percorso o l'URL del codice sorgente.

Deployment continuo

Puoi automatizzare il deployment del tuo software su Firebase creando trigger di Cloud Build. Puoi configurare i trigger per creare ed eseguire il deployment delle immagini ogni volta che aggiorni il codice sorgente.

Per automatizzare il deployment in Firebase:

  1. Nel repository, aggiungi un file di configurazione della build con i passaggi per richiamare il comando firebase deploy, dove PROJECT_ID è il tuo ID progetto Google Cloud :

    YAML

    steps:
          - name: us-docker.pkg.dev/firebase-cli/us/firebase
            args: ['deploy', '--project=PROJECT_ID', '--only=hosting']
    

    JSON

    {
      "steps": [
       {
          "name": "us-docker.pkg.dev/firebase-cli/us/firebase",
          "args": [
             "deploy",
             "--project",
             "PROJECT_ID",
             "--only",
             "hosting"
           ]
      }
      ]
    }
    
  2. Crea un trigger con il file di configurazione della build creato nel passaggio precedente:

    1. Apri la pagina Trigger nella console Google Cloud :

      Apri la pagina Trigger

    2. Seleziona il tuo progetto dal menu a discesa del selettore di progetti nella parte superiore della pagina.

    3. Fai clic su Apri.

    4. Fai clic su Crea trigger.

      Nella pagina Crea trigger, inserisci le seguenti impostazioni:

      1. Inserisci un nome per l'attivatore.

      2. Seleziona l'evento del repository per avviare il trigger.

      3. Seleziona il repository che contiene il codice sorgente e il file di configurazione della build.

      4. Specifica l'espressione regolare per il nome del ramo o del tag che avvierà il trigger.

      5. Configurazione: scegli il file di configurazione della build che hai creato in precedenza.

    5. Fai clic su Crea per salvare il trigger di build.

Ogni volta che esegui il push di nuovo codice nel repository, viene avviata automaticamente una build e un deployment su Firebase.

Per saperne di più sulla creazione di trigger Cloud Build, consulta Creare e gestire i trigger di build.

Codice di esempio

Per visualizzare un esempio di codice per il deployment su Firebase utilizzando Cloud Build, vai a deploy-firebase-example.

Passaggi successivi