Containeranwendung mit Cloud Build in Cloud Run bereitstellen

Auf dieser Seite erfahren Sie, wie Sie mit Cloud Build eine containerisierte Anwendung in Cloud Run bereitstellen.


Klicken Sie auf Anleitung, um eine detaillierte Anleitung für diese Aufgabe direkt im Cloud Shell-Editor zu erhalten:

Anleitung


Hinweise

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Build, Cloud Run, Artifact Registry, and Compute Engine APIs.

    Enable the APIs

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Cloud Build, Cloud Run, Artifact Registry, and Compute Engine APIs.

    Enable the APIs

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init

Berechtigungen erteilen

Cloud Build benötigt die Berechtigungen Cloud Run-Administrator und IAM-Dienstkontonutzer, bevor ein Image in Cloud Run bereitgestellt werden kann.

  1. Öffnen Sie ein Terminalfenster.

  2. Legen Sie Umgebungsvariablen zum Speichern Ihrer Projekt-ID und Projektnummer fest:

    PROJECT_ID=$(gcloud config list --format='value(core.project)')
    PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')
    
  3. Gewähren Sie dem Cloud Build-Dienstkonto die Rolle Cloud Run-Administrator:

    gcloud projects add-iam-policy-binding $PROJECT_ID \
        --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \
        --role=roles/run.admin
    
  4. Weisen Sie dem Cloud Build-Dienstkonto für das Cloud Run-Laufzeitdienstkonto die Rolle IAM-Dienstkontonutzer zu:

    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
    

Vordefiniertes Image bereitstellen

Sie können Cloud Build so konfigurieren, dass ein vordefiniertes Image bereitgestellt wird, das in der Artifact Registry für Cloud Run gespeichert ist.

So stellen Sie ein vordefiniertes Image bereit:

  1. Öffnen Sie ein Terminalfenster, wenn nicht bereits geschehen.

  2. Erstellen Sie ein neues Verzeichnis mit dem Namen helloworld und rufen Sie dieses Verzeichnis auf:

    mkdir helloworld
    cd helloworld
    
  3. Erstellen Sie eine Datei mit dem Namen cloudbuild.yaml und folgendem Inhalt. Diese Datei ist die Cloud Build-Konfigurationsdatei. Sie enthält eine Anleitung für Cloud Build zur Bereitstellung des Images us-docker.pkg.dev/cloudrun/container/hello im Cloud Run-Dienst cloudrunservice.

    steps:
    - name: 'gcr.io/cloud-builders/gcloud'
      script: |
        gcloud run deploy cloudrunservice --image us-docker.pkg.dev/cloudrun/container/hello --region us-central1 --platform managed --allow-unauthenticated
  4. Führen Sie folgenden Befehl aus, um das Image bereitzustellen:

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

Nach Abschluss des Builds müssten Sie in etwa folgende Ausgabe sehen:

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

Sie haben jetzt das Image hello in Cloud Run bereitgestellt.

Bereitgestelltes Image ausführen

  1. Öffnen Sie in der Google Cloud Console die Seite „Cloud Run“:

    Zur Seite "Cloud Run"

  2. Wählen Sie Ihr Projekt aus und klicken Sie auf Öffnen.

    Die Seite Cloud Run-Dienste wird angezeigt.

  3. Suchen Sie in der Tabelle nach der Zeile mit dem Namen cloudrunservice und klicken Sie auf cloudrunservice.

    Die Seite Dienstdetails für cloudrunservice wird angezeigt.

  4. Klicken Sie auf die URL, um das in cloudrunservice bereitgestellte Image auszuführen:

    Grafik: Screenshot der Detailseite des Cloud Run-Dienstes

Nächste Schritte