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 è un ambiente di esecuzione serverless per la creazione e la connessione di servizi cloud. Con le funzioni Cloud Run puoi scrivere funzioni semplici a uso specifico che vengono collegate agli eventi generati dall'infrastruttura e dai servizi cloud. La funzione viene attivata quando viene attivato un evento controllato. Per maggiori informazioni sulle funzioni Cloud Run, consulta la documentazione delle funzioni Cloud Run.
Prima di iniziare
Abilita l'API Cloud Functions:
Concedi il ruolo Sviluppatore di funzioni Cloud Run all'account di servizio Cloud Build:
Apri la pagina Impostazioni Cloud Build:
Imposta lo stato del ruolo Sviluppatore di funzioni Cloud Run su Abilitato.
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.
Configurazione del 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 compilazione 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:
- Nella directory principale del progetto, crea il
file di configurazione Cloud Build
denominato
cloudbuild.yaml
ocloudbuild.json
. Nel file di configurazione:
- Aggiungi un campo
name
e specifica il passaggio di compilazionegcloud
. - Aggiungi
functions deploy
al campoargs
per richiamare il comandogcloud functions deploy
. Per le opzioni di configurazione disponibili, consulta la documentazione di riferimento digcloud functions deploy
. --source=.
implica che il codice sorgente si trova nella directory di lavoro corrente.
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 nel file di configurazione riportato sopra con quanto segue:
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, consulta Località delle funzioni 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 di Cloud Run Functions.- Aggiungi un campo
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 compilazione supportate.
Se non specifichi
CONFIG_FILE_PATH
eSOURCE_DIRECTORY
nel comandogcloud builds submit
, Cloud Build presuppone che il file di configurazione e il codice sorgente si trovino 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:
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 nel file di configurazione riportato sopra con quanto segue:
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, consulta Località delle funzioni 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.
Crea un attivatore di build con il file di configurazione creato nel passaggio precedente:
Apri la pagina Trigger nella console Google Cloud:
Seleziona il progetto dal menu a discesa del selettore di progetti nella parte superiore della pagina.
Fai clic su Crea trigger.
Nel campo Nome, inserisci un nome per l'attivatore.
In Regione, seleziona la regione per l'attivatore.
In Evento, seleziona l'evento del repository per avviare l'attivatore.
In Origine, seleziona il repository e il nome del ramo o del tag che attiverà l'attivatore. Per ulteriori informazioni su come specificare i branch da compilare automaticamente, consulta Creare un attivatore di compilazione.
In Configurazione, seleziona File di configurazione di Cloud Build (YAML o JSON).
Nel campo Posizione file di configurazione Cloud Build, digita
cloudbuild.yaml
dopo/
.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 ulteriori informazioni sulla creazione di trigger Cloud Build, consulta Creare e gestire gli trigger di build.
Passaggi successivi
- Scopri come eseguire deployment blu/verdi su Compute Engine
- Scopri come eseguire il deployment su Cloud Run
- Scopri come eseguire il deployment su GKE
- Scopri come eseguire il deployment su Firebase
- Scopri come eseguire il deployment su App Engine
- Scopri come risolvere gli errori di compilazione.