Eseguire il deployment nelle funzioni Cloud Run

Questa pagina spiega come eseguire il deployment di applicazioni nelle funzioni Cloud Run utilizzando Cloud Build. Se non hai mai utilizzato Cloud Build, leggi prima gli avvii rapidi e la panoramica della configurazione di compilazione.

Cloud Run Functions è un ambiente di esecuzione serverless per la creazione e e connettere i servizi cloud. Con le funzioni di Cloud Run scrivi funzioni semplici e monouso collegate agli eventi emessi dall'infrastruttura cloud i servizi di machine learning. La funzione viene attivata quando viene attivato un evento guardato. Per per ulteriori informazioni sulle funzioni di Cloud Run, Documentazione sulle funzioni di Cloud Run.

Prima di iniziare

  • Abilita l'API Cloud Functions:

    Abilita l'API Cloud Run Functions

  • Concedi il ruolo Sviluppatore di funzioni Cloud Run al tuo account di servizio di compilazione:

    1. Apri la pagina Impostazioni Cloud Build:

      Apri la pagina Impostazioni di Cloud Build

    2. Imposta lo stato del ruolo Sviluppatore di funzioni Cloud Run su Attivato.

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

  • Tieni a portata di mano il codice sorgente dell'applicazione che vuoi creare ed eseguire il deployment nelle funzioni Cloud Run. Il codice sorgente deve essere archiviato in un repository, ad esempio Cloud Source Repositories, GitHub o Bitbucket.

configura il deployment

Cloud Build ti consente di utilizzare qualsiasi immagine container disponibile pubblicamente per eseguire le tue attività. A questo scopo, specifica l'immagine in un file step di compilazione nel file di configurazione di Cloud Build.

Le funzioni Cloud Run forniscono il comando gcloud functions deploy, che consente di eseguire il deployment della funzione dalla directory contenente il codice della funzione. Puoi utilizzare l'immagine cloud-sdk come passaggio di compilazione nel file di configurazione per richiamare i comandi gcloud all'interno dell'immagine. Gli argomenti passati a questo passaggio di build vengono passati direttamente a Google Cloud CLI, consentendoti di eseguire qualsiasi comando gcloud in questa immagine.

Per eseguire il deployment di un'applicazione nelle funzioni Cloud Run, segui questi passaggi:

  1. Nella directory principale del progetto, crea il file di configurazione Cloud Build denominato cloudbuild.yaml o cloudbuild.json.
  2. Nel file di configurazione:

    • Aggiungi un campo name e specifica il passaggio di build gcloud.
    • Aggiungi functions deploy al campo args per richiamare il comando gcloud functions deploy. Per le opzioni di configurazione disponibili, consulta la documentazione di riferimento di gcloud functions deploy.
    • --source=. implica che il codice sorgente si trova nella directory di lavoro attuale.

    YAML

    steps:
    - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
      args:
      - gcloud
      - functions
      - deploy
      - FUNCTION_NAME
      - --region=FUNCTION_REGION
      - --source=.
      - --trigger-http
      - --runtime=RUNTIME
    

    JSON

    {
     "steps": [
      {
         "name": "gcr.io/google.com/cloudsdktool/cloud-sdk",
         "args": [
           "gcloud",
           "functions",
           "deploy",
            [
              "FUNCTION_NAME"
            ],
            "--region=FUNCTION_REGION",
            "--source=.",
            "--trigger-http",
            "--runtime=RUNTIME"
         ]
       }
      ]
    }
    

    Sostituisci i valori segnaposto del file di configurazione riportato sopra con i seguenti:

    • FUNCTION_NAME è il nome delle funzioni Cloud Run di cui stai eseguendo il deployment. Se stai aggiornando una funzione esistente, questo valore deve corrispondere al nome di la funzione che stai aggiornando.
    • FUNCTION_REGION è la regione in cui ti trovi il deployment delle funzioni Cloud Run. Per un elenco delle regioni supportate, vedi Località delle funzioni di Cloud Run.
    • --trigger-http è il tipo di trigger per questa funzione, in questo caso una richiesta HTTP (webhook).
    • RUNTIME è il runtime in cui eseguire la funzione.

    Per saperne di più sull'utilizzo di gcloud functions deploy, consulta la documentazione sulle funzioni Cloud Run.

  3. Avvia la build utilizzando il file di configurazione creato nel passaggio precedente:

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

    Sostituisci i valori segnaposto nel file di configurazione riportato sopra con quanto segue:

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

    Se non specifichi CONFIG_FILE_PATH e SOURCE_DIRECTORY nel gcloud builds submit, Cloud Build presuppone che la configurazione e il codice sorgente si trovano nella directory di lavoro corrente.

Deployment continuo

Puoi automatizzare il deployment del software nelle funzioni Cloud Run creando trigger di Cloud Build. Puoi configurare i trigger per creare la build ed eseguire il deployment delle immagini ogni volta che aggiorni il codice sorgente.

Per automatizzare il deployment nelle funzioni Cloud Run:

  1. Nella directory principale del repository, aggiungi un file di configurazione con i passaggi per invocare il comando gcloud functions deploy:

    YAML

    steps:
    - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
      args:
      - gcloud
      - functions
      - deploy
      - FUNCTION_NAME
      - --region=FUNCTION_REGION
      - --source=.
      - --trigger-http
      - --runtime=RUNTIME
    

    JSON

    {
     "steps": [
      {
         "name": "gcr.io/google.com/cloudsdktool/cloud-sdk",
         "args": [
           "gcloud",
           "functions",
           "deploy",
            [
              "FUNCTION_NAME"
            ],
            "--region=FUNCTION_REGION",
            "--source=.",
            "--trigger-http",
            "--runtime=RUNTIME"
         ]
       }
      ]
    }
    

    Sostituisci i valori segnaposto del file di configurazione riportato sopra con i seguenti:

    • FUNCTION_NAME è il nome delle funzioni Cloud Run di cui stai eseguendo il deployment. Se stai aggiornando una funzione esistente, questo valore deve corrispondere al nome della funzione che stai aggiornando.
    • FUNCTION_REGION è la regione in cui stai eseguendo il deployment delle funzioni Cloud Run. Per un elenco delle regioni supportate, vedi Località di Cloud Run Functions.
    • --trigger-http è il tipo di trigger per questa funzione, in questo caso una richiesta HTTP (webhook).
    • RUNTIME è il runtime in cui eseguire la funzione.
  2. Crea un attivatore di build con il file di configurazione 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 progetti nella parte superiore della pagina.

    3. Fai clic su Crea trigger.

    4. Nel campo Nome, inserisci un nome per il trigger.

    5. In Regione, seleziona la regione per il trigger.

    6. In Evento, seleziona l'evento del repository per avviare il trigger.

    7. In Origine, seleziona il repository e il nome del ramo o tag che farà partire il trigger. Per ulteriori informazioni su come specificare quali rami creare automaticamente, vedi Creazione di un trigger di build.

    8. In Configurazione, seleziona Cloud Build. di configurazione del deployment (YAML o JSON).

    9. Nel campo Posizione file di configurazione Cloud Build, digita cloudbuild.yaml dopo /.

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

Ogni volta che esegui il push di nuovo codice nel tuo repository, attiverai automaticamente una compilazione e un deployment sulle funzioni Cloud Run.

Per saperne di più sulla creazione di trigger di Cloud Build, consulta Creazione e gestione dei trigger di build.

Passaggi successivi