Für Cloud Run-Funktionen bereitstellen

Auf dieser Seite wird erläutert, wie Sie Anwendungen mithilfe von Cloud Build Wenn Sie Cloud Build noch nicht kennen, lesen Sie zuerst die Kurzanleitungen sowie Build-Konfiguration – Überblick.

Cloud Run-Funktionen ist eine serverlose Ausführungsumgebung zum Erstellen und Verbinden von Cloud-Diensten. Mit Cloud Run-Funktionen schreiben Sie einfache Funktionen, die einem einzigen Zweck dienen und an Ereignisse gebunden sind, die von Ihrer Cloudinfrastruktur und Ihren Diensten ausgegeben werden. Die Funktion wird ausgelöst, wenn ein beobachtetes Ereignis initiiert wird. Weitere Informationen zu Cloud Run-Funktionen finden Sie in der Dokumentation zu Cloud Run-Funktionen.

Hinweise

  • Aktivieren Sie die Cloud Run Functions API:

    Cloud Run Functions API aktivieren

  • Weisen Sie dem Build-Dienstkonto die Rolle Cloud Run-Entwickler zu:

    1. Rufen Sie die Cloud Build-Seite Einstellungen auf:

      Zur Seite mit den Cloud Build-Einstellungen

    2. Setzen Sie den Status der Rolle Cloud Run Functions Developer (Cloud Run-Funktionen-Entwickler) auf Enabled (Aktiviert).

  • Zum Ausführen der gcloud-Befehle auf dieser Seite installieren Sie den Google Cloud CLI

  • Halten Sie den Anwendungsquellcode bereit, den Sie erstellen und in Cloud Run-Funktionen bereitstellen möchten. Der Quellcode muss in einem Repository gespeichert sein, z. B. in Cloud Source Repositories, GitHub oder Bitbucket.

Bereitstellung konfigurieren

Mit Cloud Build können Sie jedes öffentlich verfügbare Container-Image zur Ausführung Ihrer Aufgaben verwenden. Geben Sie dazu in der Cloud Build-Konfigurationsdatei das Image in einem Build-step an.

Cloud Run-Funktionen bieten den Befehl gcloud functions deploy, mit dem Ihre Funktion aus dem Verzeichnis, das Ihren Funktionscode enthält, bereitgestellt wird. Sie können das cloud-sdk-Image als Build-Schritt in Ihrer Konfigurationsdatei verwenden, um im Image gcloud-Befehle aufzurufen. Argumente, die an diesen Build-Schritt übergeben werden, werden direkt an die Google Cloud CLI weitergegeben, sodass Sie in diesem Build-Schritt alle gcloud-Befehle ausführen können.

Führen Sie die folgenden Schritte aus, um eine Anwendung in Cloud Run-Funktionen bereitzustellen:

  1. Erstellen Sie im Stammverzeichnis Ihres Projekts die Cloud Build-Konfigurationsdatei mit dem Namen cloudbuild.yaml oder cloudbuild.json.
  2. In der Konfigurationsdatei:

    • Fügen Sie das Feld name ein und geben Sie den gcloud-Build-Schritt an.
    • Fügen Sie den Wert functions deploy zum Feld args hinzu, um den Befehl gcloud functions deploy aufzurufen. Informationen zu verfügbaren Konfigurationsoptionen finden Sie in der Referenz zu gcloud functions deploy.
    • --source=. gibt an, dass sich der Quellcode im aktuellen Arbeitsverzeichnis befindet.

    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"
         ]
       }
      ]
    }
    

    Ersetzen Sie die Platzhalterwerte in der obigen Konfigurationsdatei durch Folgendes:

    • FUNCTION_NAME ist der Name der Cloud Run-Funktionen, die Sie bereitstellen. Wenn Sie eine vorhandene Funktion aktualisieren, muss dieser Wert mit dem Namen der zu aktualisierenden Funktion übereinstimmen.
    • FUNCTION_REGION ist die Region, in der Sie Cloud Run-Funktionen bereitstellen. Eine Liste der unterstützten Regionen finden Sie unter Speicherorte von Cloud Run-Funktionen
    • --trigger-http ist der Triggertyp der Funktion, in diesem Fall eine HTTP-Anfrage (Webhook).
    • RUNTIME ist die Laufzeit, in der die Funktion ausgeführt werden soll.

    Weitere Informationen zur Verwendung von gcloud functions deploy finden Sie in der Dokumentation zu Cloud Run-Funktionen

  3. Starten Sie den Build mit der im vorherigen Schritt erstellten Konfigurationsdatei:

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

    Ersetzen Sie die Platzhalterwerte in der obigen Konfigurationsdatei durch Folgendes:

    • CONFIG_FILE_PATH ist der Pfad zur Build-Konfigurationsdatei.
    • SOURCE_DIRECTORY ist der Pfad oder die URL zum Quellcode.
    • REGION ist eine der unterstützten Build-Regionen.

    Wenn Sie CONFIG_FILE_PATH und SOURCE_DIRECTORY im Befehl gcloud builds submit nicht angeben, geht Cloud Build davon aus, dass sich die Konfigurationsdatei und der Quellcode im aktuellen Arbeitsverzeichnis befinden.

Kontinuierliche Bereitstellung

Sie können die Bereitstellung Ihrer Software für Cloud Run-Funktionen automatisieren, indem Sie Cloud Build-Trigger. Sie können die Trigger so konfigurieren, dass Images immer dann erstellt und bereitgestellt werden, wenn Sie den Quellcode aktualisieren.

So automatisieren Sie die Bereitstellung in Cloud Run-Funktionen:

  1. Fügen Sie in Ihrem Repository-Stammverzeichnis eine Konfigurationsdatei mit Schritten zum Aufrufen des Befehls gcloud functions deploy hinzu:

    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"
         ]
       }
      ]
    }
    

    Ersetzen Sie die Platzhalterwerte in der obigen Konfigurationsdatei durch Folgendes:

    • FUNCTION_NAME ist der Name der Cloud Run-Funktionen, die Sie bereitstellen. Wenn Sie eine vorhandene Funktion aktualisieren, muss dieser Wert mit dem Namen der zu aktualisierenden Funktion übereinstimmen.
    • FUNCTION_REGION ist die Region, in der Sie Cloud Run-Funktionen bereitstellen. Eine Liste der unterstützten Regionen finden Sie unter Standorte für Cloud Run-Funktionen.
    • --trigger-http ist der Triggertyp der Funktion, in diesem Fall eine HTTP-Anfrage (Webhook).
    • RUNTIME ist die Laufzeit, in der die Funktion ausgeführt werden soll.
  2. Erstellen Sie mit der im vorherigen Schritt erstellten Konfigurationsdatei einen Build-Trigger:

    1. Öffnen Sie in der Google Cloud Console die Seite Trigger:

      Zur Seite "Trigger"

    2. Wählen Sie oben auf der Seite im Drop-down-Menü zur Projektauswahl Ihr Projekt aus.

    3. Klicken Sie auf Trigger erstellen.

    4. Geben Sie im Feld Name einen Namen für den Trigger ein.

    5. Wählen Sie unter Region die Region für den Trigger aus.

    6. Wählen Sie unter Ereignis das Repository-Ereignis aus, um den Trigger zu starten.

    7. Wählen Sie unter Quelle Ihr Repository und den Branch- oder Tag-Namen aus, der den Trigger auslöst. Weitere Informationen zum Angeben, welche Branches automatisch erstellt werden sollen, finden Sie unter Build-Trigger erstellen.

    8. Wählen Sie unter Konfiguration die Cloud Build-Konfigurationsdatei (YAML oder JSON) aus.

    9. Geben Sie im Feld Speicherort der Cloud Build-Konfigurationsdatei cloudbuild.yaml nach / ein.

    10. Klicken Sie auf Erstellen, um den Build-Trigger zu speichern.

Jedes Mal, wenn Sie neuen Code in Ihr Repository übertragen, lösen Sie automatisch einen Build aus und stellen diesen in Cloud Run-Funktionen bereit.

Weitere Informationen zum Erstellen von Cloud Build-Triggern finden Sie unter Build-Trigger erstellen und verwalten.

Nächste Schritte