In App Engine bereitstellen

Speichern Sie Container-Images und Abhängigkeiten für Ihre Anwendungen in Artifact Registry für die Bereitstellung in App Engine

  • Abhängigkeiten in Artifact Registry in Node.js und Python deklarieren Anwendungen.
  • Sie können Ihre Anwendung direkt in der App Engine-Standardumgebung bereitstellen oder mit Cloud Build containerisieren und in der flexiblen App Engine-Umgebung bereitstellen.
  • Container-Images in Artifact Registry-Docker-Repositories speichern und in der flexiblen App Engine-Umgebung bereitstellen.

Erforderliche Berechtigungen

Flexible App Engine-Umgebung
Wenn sich die flexible App Engine-Umgebung und Artifact Registry im selben Projekt befinden, Das Standarddienstkonto von App Engine hat Berechtigungen für Container aus Repositories abzurufen.
Wenn Sie auch Cloud Build verwenden, um Ihre Anwendungen zu containerisieren und zu speichern sie in Artifact Registry und gewähren Sie die Artifact Registry-Rolle „Autor“ mit dem Cloud Build-Dienstkonto.
App Engine-Standardumgebung:
In der App Engine-Standardumgebung wird das Cloud Build-Dienstkonto zum Erstellen und Bereitstellen Ihrer Anwendungen verwendet, einschließlich der Integration von Abhängigkeiten, die in Artifact Registry gespeichert sind.
  • Wenn sich App Engine und Artifact Registry im selben Google Cloud-Projekt verfügt, verfügt das Dienstkonto über die erforderlichen zum Herunterladen aus Repositories.
  • Wenn sich App Engine und Artifact Registry in unterschiedlichen Projekten befinden, müssen Sie dem Dienstkonto Zugriff auf das Repository gewähren.
  • Um Lesezugriff auf das Herunterladen von Abhängigkeiten zu gewähren, gewähre die folgende Berechtigung: Rolle „Artifact Registry-Leser“ für den Cloud Build-Dienst Konto.
  • Wenn Sie mit Cloud Build Artefakte in Repositories hochladen, Cloud Build-Dienst die Rolle „Artifact Registry-Autor“ zuweisen Konto.

In flexibler App Engine-Umgebung bereitstellen

Mit der Google Cloud CLI können Sie ein von Artifact Registry gehostetes Image in App Engine bereitstellen.

  1. Erstellen Sie die App Engine-Konfigurationsdatei für Ihre Anwendung.
  2. Erstellen Sie ein Docker-Image und übertragen Sie es per Push in Ihr Repository. Sie können Cloud Build verwenden, um Ihren Container zu erstellen und per Push in Ihr Repository zu übertragen.
  3. Stellen Sie das Image in App Engine bereit, indem Sie den folgenden Befehl ausführen:

    gcloud app deploy --image-url=LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE:TAG
    

    Dabei gilt:

    • LOCATION ist der regionale oder multiregionale Speicherort für das Repository.
    • PROJECT ist die ID des Projekts, das das Repository enthält. Wenn die Projekt-ID einen Doppelpunkt (:) enthält, finden Sie weitere Informationen unter Auf Domains beschränkte Projekte.
    • REPOSITORY ist der Name des Repositorys, in dem das Image gespeichert ist.
    • IMAGE ist der Name des Images im Repository.
    • TAG ist das Tag für die Image-Version, die Sie herunterladen möchten.

    Beispiel:

    gcloud app deploy --image-url=us-central1-docker.pkg.dev/my-project/my-repo/my-image:1.0
    

Zugriff auf Abhängigkeiten konfigurieren

Informationen zu Anwendungen in der Standardumgebung finden Sie in der Dokumentation zur App Engine-Standardumgebung für Konfigurationsanleitungen für npm und Python

Informationen zum Einbeziehen von Abhängigkeiten in Builds, die Sie mit Cloud Build ausführen, finden Sie unter In Cloud Build einbinden