Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

In App Engine bereitstellen

Auf dieser Seite wird erläutert, wie mithilfe von Cloud Build Anwendungen in App Engine bereitgestellt werden. Wenn Sie Cloud Build noch nicht kennen, lesen Sie zuerst die Kurzanleitungen sowie die Übersicht über die Build-Konfiguration.

App Engine ist eine vollständig verwaltete, serverlose Plattform für die Entwicklung und das Hosting von Webanwendungen in großem Umfang. Weitere Informationen zu App Engine finden Sie in der App Engine-Dokumentation.

Hinweis

  • Aktivieren Sie die App Engine API.

    App Engine API aktivieren

  • Installieren Sie das gcloud-Befehlszeilentool, um die gcloud-Befehle auf dieser Seite auszuführen.

  • Halten Sie Ihren Anwendungsquellcode bereit, den Sie erstellen und in App Engine bereitstellen möchten.

Erforderliche IAM-Berechtigungen

Weisen Sie dem Cloud Build-Dienstkonto die Rollen App Engine-Administrator und Dienstkontonutzer zu:

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

    Zur Seite mit den Cloud Build-Einstellungen

  2. Setzen Sie den Status der Rolle App Engine Admin (App Engine-Administrator) und die Rolle Service Account User (Dienstkontonutzer) auf Enabled (Aktiviert).

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.

App Engine bietet den Befehl gcloud app deploy, mit dem unter Verwendung Ihres Quellcodes ein Image erstellt und in App Engine 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 das gcloud-Tool weitergegeben, sodass Sie in diesem Image alle gcloud-Befehle ausführen können.

Führen Sie die folgenden Schritte aus, um eine Anwendung in App Engine bereitzustellen:

  1. Erstellen Sie eine Cloud Build-Konfigurationsdatei mit dem Namen cloudbuild.yaml oder cloudbuild.json.

  2. In der Konfigurationsdatei:

    • Fügen Sie das Feld name ein, um den cloud-sdk-Build-Schritt anzugeben.
    • Fügen Sie ein entrypoint-Feld hinzu, um beim Aufrufen von cloud-sdk das bash-Tool zu verwenden.
    • Wählen Sie im Feld args den Befehl gcloud app deploy und legen Sie einen timeout für App Engine beim Aufrufen von Cloud Build fest. Grund dafür ist, dass Build-Schritte und Builds in Cloud Build standardmäßig ein Zeitlimit von 10 Minuten haben. App Engine-Bereitstellungen können jedoch länger dauern. Durch Angabe eines längeren Zeitlimits wird sichergestellt, dass für den Build keine Zeitüberschreitung auftritt, wenn gcloud app deploy länger als 10 Minuten dauert.

      Zeitüberschreitungsfehler bei Verwendung der App Engine-Standardumgebung: Sie können Zeitlimits wie hier beschrieben konfigurieren, wenn Sie die flexible App Engine-Umgebung verwenden. In der App Engine-Standardumgebung kann das Build-Zeitlimit nicht konfiguriert werden. Wenn Sie Cloud Build zur Bereitstellung in der App Engine-Standardumgebung verwenden und bei Ihrem Build ein Zeitüberschreitungsfehler auftritt, verwenden Sie die flexible App Engine-Umgebung oder Cloud Run anstelle der App Engine-Standardumgebung.

    • Fügen Sie einen Build-timeout-Wert von mehr als 10 Minuten hinzu.

    YAML

    steps:
    - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
      entrypoint: 'bash'
      args: ['-c', 'gcloud config set app/cloud_build_timeout 1600 && gcloud app deploy']
    timeout: '1600s'
    

    JSON

    {
      "steps": [
      {
        "name": "gcr.io/google.com/cloudsdktool/cloud-sdk",
        "entrypoint": "bash",
        "args": [
          "-c",
          "gcloud config set app/cloud_build_timeout 1600 && gcloud app deploy"
         ]
      }
      ],
      "timeout": "1600s"
    }
    
  3. Starten Sie den Build, wobei SOURCE_DIRECTORY der Pfad oder die URL zum Quellcode ist:

     gcloud builds submit SOURCE_DIRECTORY
    

Kontinuierliche Bereitstellung

Sie können die Bereitstellung Ihrer Software in App Engine automatisieren, indem Sie Cloud Build-Trigger erstellen. 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 App Engine:

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

    YAML

    steps:
    - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
      entrypoint: 'bash'
      args: ['-c', 'gcloud config set app/cloud_build_timeout 1600 && gcloud app deploy']
    timeout: '1600s'
    

    JSON

    {
      "steps": [
      {
        "name": "gcr.io/google.com/cloudsdktool/cloud-sdk",
        "entrypoint": "bash",
        "args": [
          "-c",
          "gcloud config set app/cloud_build_timeout 1600 && gcloud app deploy"
         ]
      }
      ],
      "timeout": "1600s"
    }
    
  2. Erstellen Sie mit der im vorherigen Schritt erstellten Konfigurationsdatei einen Build-Trigger:

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

      Zur Seite "Trigger"

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

    3. Klicken Sie auf Öffnen.

    4. Klicken Sie auf Trigger erstellen.

      Auf der Seite Erstellen Sie einen Trigger geben Sie die folgenden Einstellungen ein:

      1. Geben Sie einen Namen für den Trigger ein.

      2. Wählen Sie das Repository-Ereignis aus, das den Trigger aufrufen soll.

      3. Wählen Sie das Repository aus, das Ihren Quellcode und die Build-Konfigurationsdatei enthält.

      4. Geben Sie den regulären Ausdruck für den Zweig- oder Tag-Namen an, mit dem der Trigger gestartet wird.

      5. Konfiguration: Wählen Sie die Build-Konfigurationsdatei aus, die Sie zuvor erstellt haben.

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

Jedes Mal, wenn Sie neuen Code in Ihr Repository übertragen, starten Sie automatisch einen Build und stellen ihn in App Engine bereit.

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

Nächste Schritte