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

  • Deklarieren Sie Abhängigkeiten in Ihren Node.js- und Python-Anwendungen in Artifact Registry.
  • 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 Ihre Anwendungen auch mit Cloud Build containerisieren und in Artifact Registry speichern, gewähren Sie dem Cloud Build-Dienstkonto die Rolle „Artifact Registry-Autor“.
App Engine-Standardumgebung:
Die App Engine-Standardumgebung verwendet das Cloud Build-Dienstkonto für folgende Aufgaben: Anwendungen erstellen und bereitstellen, einschließlich der 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 verschiedenen Projekten befinden, müssen Sie dem Dienstkonto Repositoryzugriff gewähren.
  • Wenn Sie Lesezugriff zum Herunterladen von Abhängigkeiten gewähren möchten, gewähren Sie dem Cloud Build-Dienstkonto die Rolle „Artifact Registry-Leser“.
  • Wenn Sie auch Cloud Build verwenden, um Artefakte in Repositories hochzuladen, gewähren Sie dem Cloud Build-Dienstkonto die Rolle „Artifact Registry-Autor“.

In flexibler App Engine-Umgebung bereitstellen

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

  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