In App Engine bereitstellen

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

  • Deklarieren Sie Abhängigkeiten in Artifact Registry in Ihren Node.js- und Python-Anwendungen.
  • Stellen Sie Ihre Anwendung direkt in der App Engine-Standardumgebung bereit oder containerisieren Sie sie und stellen Sie sie in der flexiblen App Engine-Umgebung mit Cloud Build bereit.
  • Speichern Sie Container-Images in Artifact Registry-Docker-Repositories und stellen Sie sie in der flexiblen App Engine-Umgebung bereit.

Erforderliche Berechtigungen

Flexible App Engine-Umgebung
Wenn sich die flexible App Engine-Umgebung und die Abkürzung Artifact Registry im selben Projekt befinden, hat das App Engine-Standarddienstkonto Berechtigungen zum Abrufen von Containern aus Repositories.
Wenn Sie Cloud Build auch zum Containerisieren Ihrer Anwendungen und zum Speichern in Artifact Registry verwenden, weisen Sie dem Cloud Build-Dienstkonto die Rolle „Artifact Registry-Autor“ zu.
App Engine-Standardumgebung:
In der App Engine-Standardumgebung wird das Cloud Build-Dienstkonto zum Erstellen und Bereitstellen Ihrer Anwendungen verwendet. Dabei werden auch Abhängigkeiten eingebunden, die in Artifact Registry gespeichert sind.
  • Wenn sich App Engine und Artifact Registry im selben Google Cloud-Projekt befinden, hat das Dienstkonto die erforderlichen Berechtigungen zum Herunterladen aus Repositories.
  • Wenn sich App Engine und Artifact Registry in verschiedenen Projekten befinden, müssen Sie dem Dienstkonto Zugriff auf das Repository gewähren.
  • Gewähren Sie dem Cloud Build-Dienstkonto die Rolle „Artifact Registry-Leser“, um Lesezugriff zum Herunterladen von Abhängigkeiten zu gewähren.
  • Wenn Sie Cloud Build auch zum Hochladen von Artefakten in Repositories verwenden, weisen Sie dem Cloud Build-Dienstkonto die Rolle „Artifact Registry-Schreiber“ zu.

In flexibler App Engine-Umgebung bereitstellen

Über die 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 npm und für Python.

Informationen zum Einbeziehen von Abhängigkeiten in Builds, die mit Cloud Build ausgeführt werden, finden Sie unter In Cloud Build einbinden.