Esegui il deployment di un'applicazione containerizzata in Cloud Run utilizzando Cloud Build

Questa pagina mostra come utilizzare Cloud Build per eseguire il deployment in Cloud Run di un'applicazione containerizzata.


Per indicazioni dettagliate su questa attività direttamente nell'editor di Cloud Shell, fai clic su Procedura guidata:

Procedura guidata


Nelle sezioni seguenti puoi seguire la stessa procedura utilizzata per fare clic su Procedura guidata.

Prima di iniziare

  1. 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 gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.

  4. Abilita le API Cloud Build, Cloud Run, Artifact Registry, and Compute Engine.

    Abilita le API

  5. Installa e inizializza l'interfaccia a riga di comando di Google Cloud.
  6. Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  7. Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.

  8. Abilita le API Cloud Build, Cloud Run, Artifact Registry, and Compute Engine.

    Abilita le API

  9. Installa e inizializza l'interfaccia a riga di comando di Google Cloud.

Concedi le autorizzazioni

Cloud Build richiede le autorizzazioni Amministratore di Cloud Run e Utente account di servizio per poter eseguire il deployment di un'immagine in Cloud Run.

  1. Apri una finestra del terminale.

  2. Imposta le variabili di ambiente in cui archiviare 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)')
    
  3. Concedi il ruolo Amministratore di Cloud Run all'account di servizio Cloud Build:

    gcloud projects add-iam-policy-binding $PROJECT_ID \
        --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \
        --role=roles/run.admin
    
  4. Concedi il ruolo IAM Utente account di servizio all'account di servizio Cloud Build per l'account di servizio di runtime Cloud Run:

    gcloud iam service-accounts add-iam-policy-binding \
        $PROJECT_NUMBER-compute@developer.gserviceaccount.com \
        --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \
        --role=roles/iam.serviceAccountUser
    

Esegui il deployment di un'immagine predefinita

Puoi configurare Cloud Build per il deployment in Cloud Run di un'immagine predefinita archiviata in Artifact Registry.

Per eseguire il deployment di un'immagine predefinita:

  1. Apri una finestra del terminale (se non è già aperta).

  2. Crea una nuova directory denominata helloworld e accedi alla directory:

    mkdir helloworld
    cd helloworld
    
  3. Crea un file denominato cloudbuild.yaml con il seguente contenuto. Questo è il file di configurazione di Cloud Build. Contiene istruzioni per consentire a Cloud Build di eseguire il deployment dell'immagine denominata us-docker.pkg.dev/cloudrun/container/hello nel servizio Cloud Run denominato cloudrunservice.

    steps:
    - name: 'gcr.io/cloud-builders/gcloud'
      args:
      - 'run'
      - 'deploy'
      - 'cloudrunservice'
      - '--image'
      - 'us-docker.pkg.dev/cloudrun/container/hello'
      - '--region'
      - 'us-central1'
      - '--platform'
      - 'managed'
      - '--allow-unauthenticated'
  4. Esegui il deployment dell'immagine lanciando questo comando:

    gcloud builds submit --region=us-west2 --config cloudbuild.yaml
    

Al termine, verrà visualizzato 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

  1. Apri la pagina Cloud Run nella console:

    Apri la pagina Cloud Run

  2. Seleziona il progetto e fai clic su Apri.

    Viene visualizzata la pagina Servizi Cloud Run.

  3. Nella tabella, individua la riga denominata cloudrunservice e fai clic su cloudrunservice.

    Viene visualizzata la pagina Dettagli del servizio per cloudrunservice.

  4. Per eseguire l'immagine di cui hai effettuato il deployment su cloudrunservice, fai clic sull'URL:

    Screenshot della pagina dei dettagli del servizio Cloud Run

Passaggi successivi