Esegui il deployment di un'applicazione containerizzata in Cloud Run utilizzando Cloud Build
Questa pagina mostra come utilizzare Cloud Build per eseguire il deployment di un'applicazione containerizzata in Cloud Run.
Per seguire le indicazioni dettagliate per questa attività direttamente nell'editor di Cloud Shell, fai clic su Procedura guidata:
Prima di iniziare
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Build, Cloud Run, Artifact Registry, and Compute Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Build, Cloud Run, Artifact Registry, and Compute Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init
Concedi le autorizzazioni
Cloud Build richiede diverse autorizzazioni prima di poter eseguire il deployment di un'immagine in Cloud Run. Per concedere queste autorizzazioni:
Apri una finestra del terminale.
Imposta le variabili di ambiente per memorizzare l'ID e il numero del progetto.
PROJECT_ID=$(gcloud config list --format='value(core.project)') PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')Concedi il ruolo Amministratore di Cloud Run al tuo service account Cloud Build.
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:$(gcloud projects describe $PROJECT_ID \ --format="value(projectNumber)")-compute@developer.gserviceaccount.com \ --role=roles/run.admin \Concedi il ruolo Storage Object User al tuo account di serviziot Cloud Build.
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:$(gcloud projects describe $PROJECT_ID \ --format="value(projectNumber)")-compute@developer.gserviceaccount.com \ --role=roles/storage.objectUser \Concedi il ruolo Utente account di servizio al tuo service account Cloud Build.
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:$(gcloud projects describe $PROJECT_ID \ --format="value(projectNumber)")-compute@developer.gserviceaccount.com \ --role=roles/iam.serviceAccountUser
Esegui il deployment di un'immagine predefinita
Puoi configurare Cloud Build in modo da eseguire il deployment in Cloud Run di un'immagine predefinita archiviata in Artifact Registry.
Per eseguire il deployment di un'immagine predefinita:
Apri una finestra del terminale (se non è già aperta).
Crea una nuova directory denominata
helloworlde accedi alla directory:mkdir helloworld cd helloworldCrea un file denominato
cloudbuild.yamlcon i seguenti contenuti. Questo file è il file di configurazione di Cloud Build. Contiene le istruzioni per Cloud Build per eseguire il deployment dell'immagine denominataus-docker.pkg.dev/cloudrun/container/hellonel servizio Cloud Run denominatocloudrunservice.Esegui il deployment dell'immagine lanciando questo comando:
gcloud builds submit --region=us-west2 --config cloudbuild.yaml
Al termine della build, vedrai un output simile al seguente:
DONE
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ID CREATE_TIME DURATION SOURCE IMAGES STATUS
784653b2-f00e-4c4b-9f5f-96a5f115bef4 2020-01-23T14:53:13+00:00 23S gs://cloudrunqs-project_cloudbuild/source/1579791193.217726-ea20e1c787fb4784b19fb1273d032df2.tgz - SUCCESS
Hai appena eseguito il deployment dell'immagine hello in Cloud Run.
Esegui l'immagine di cui hai effettuato il deployment
Apri la pagina Cloud Run nella console Google Cloud :
Seleziona il progetto e fai clic su Apri.
Viene visualizzata la pagina Servizi Cloud Run.
Nella tabella, individua la riga denominata cloudrunservice e fai clic su cloudrunservice.
Viene visualizzata la pagina Dettagli del servizio per cloudrunservice.
Per eseguire l'immagine di cui hai eseguito il deployment su cloudrunservice, fai clic sull'URL:
Passaggi successivi
- Scopri come creare un'immagine con Cloud Build.
- Scopri come creare un file di configurazione della build di base.
- Scopri come visualizzare i risultati della build.
- Scopri altri modi per eseguire il deployment in Cloud Run.
- Scopri come eseguire il deployment su Google Kubernetes Engine.
- Scopri di più sulle risorse DevOps.
- Esplora il programma di ricerca DevOps.