Node.js 12 ist jetzt allgemein verfügbar.

Anwendung testen und bereitstellen

Regions-ID

REGION_ID ist ein abgekürzter Code, den Google anhand der Region zuweist, die Sie beim Erstellen Ihrer Anwendung ausgewählt haben. Der Code bezieht sich nicht auf ein Land oder eine Provinz, auch wenn einige Regions-IDs häufig verwendeten Länder- und Provinzcodes ähneln können. Das Einbinden von REGION_ID.r in App Engine-URLs ist für vorhandene Anwendungen optional und wird bald für alle neuen Anwendungen erforderlich sein.

Für einen reibungslosen Übergang wird App Engine nach und nach für die Verwendung von Regions-IDs aktualisiert. Wenn wir Ihr Google Cloud-Projekt noch nicht aktualisiert haben, wird für Ihre Anwendung keine Regions-ID angezeigt. Da die ID für vorhandene Anwendungen optional ist, müssen Sie keine URLs aktualisieren oder andere Änderungen vornehmen, sobald die Regions-ID für Ihre vorhandenen Anwendungen verfügbar ist.

Hier finden Sie weitere Informationen zu Regions-IDs.

Hier erfahren Sie, wie Sie Ihre Anwendung lokal ausführen und in App Engine erstellen und testen.

Lokal ausführen

Wenn Sie die Funktionsweise der Anwendung vor der Bereitstellung testen möchten, führen Sie sie in Ihrer lokalen Umgebung mit den Entwicklungstools aus, die Sie sonst auch verwenden. Beispiel: npm start

Vor der Bereitstellung Ihrer Anwendung

Für die Bereitstellung der Anwendung müssen folgende Voraussetzungen erfüllt sein:

Anwendung erstellen

Stellen Sie die Anwendung mit dem Befehl gcloud app deploy in App Engine bereit.

Während der Bereitstellung erstellt der Cloud Build-Dienst ein Container-Image der Anwendung, das in der App Engine-Standardumgebung ausgeführt wird. Weitere Informationen finden Sie unter Build-Images verwalten.

Wenn Sie Anwendungen programmgesteuert erstellen möchten, verwenden Sie die Admin API.

Dienst erstellen

Für die Bereitstellung der Anwendung in App Engine erstellen Sie Versionen der Anwendungsdienste und alle zugehörigen Konfigurationsdateien.

Führen Sie zum Bereitstellen einer Version eines Anwendungsdienstes den folgenden Befehl in dem Verzeichnis aus, in dem sich die app.yaml-Datei des Dienstes befindet:

gcloud app deploy

Wenn Sie mit dem Befehl keine Dateien angeben, wird nur die app.yaml-Datei im aktuellen Verzeichnis bereitgestellt. Standardmäßig generiert der Befehl deploy eine eindeutige ID für die bereitzustellende Version, stellt die Version in dem Google Cloud-Projekt bereit, für das Sie das gcloud-Tool konfiguriert haben, und leitet den gesamten Traffic an die neue Version weiter.

Sie können das Standardverhalten des Befehls ändern, wenn Sie spezielle Dateien als Ziel angeben oder weitere Befehlsparameter einbeziehen:

  • Alle weiteren Konfigurationsdateien müssen Sie einzeln als Ziel angeben und bereitstellen. Beispiel:
    gcloud app deploy cron.yaml
    gcloud app deploy dispatch.yaml
    gcloud app deploy index.yaml
    
  • Mit dem Flag --version geben Sie eine benutzerdefinierte Versions-ID an.
  • Mit dem Flag --no-promote verhindern Sie, dass der Traffic automatisch zur neuen Version geleitet wird.
  • Mit dem Flag --project können Sie ein bestimmtes Google Cloud-Projekt zum Bereitstellen angeben.

Wenn Sie beispielsweise den in der Datei app.yaml definierten Dienst in einem bestimmten Google Cloud-Projekt bereitstellen möchten, weisen Sie ihm eine benutzerdefinierte Versions-ID zu und verhindern Sie, dass der Traffic an die neue Version weitergeleitet wird:

gcloud app deploy --project PROJECT_ID --version VERSION_ID --no-promote

Weitere Informationen zu diesem Befehl finden Sie in der Referenz zu gcloud app deploy.

Mehrere Dienste bereitstellen

Verwenden Sie dieselben Bereitstellungsbefehle, um die verschiedenen Dienste der Anwendung bereitzustellen oder zu aktualisieren.

Wenn Sie mehrere Dienste bereitstellen möchten, müssen Sie die Datei app.yaml jedes Dienstes jeweils separat bereitstellen. Sie können dazu mit einem einzelnen gcloud app deploy-Befehl mehrere Dateien angeben:

gcloud app deploy service1/app.yaml service2/app.yaml

Anforderungen an die Bereitstellung mehrerer Dienste

  • Sie müssen zuerst eine Version der Anwendung für den Dienst default bereitstellen, bevor Sie weitere Dienste erstellen und bereitstellen können.
  • Geben Sie die ID des jeweiligen Dienstes in der zugehörigen app.yaml-Konfigurationsdatei an. Fügen Sie dazu in jede Konfigurationsdatei die Elementdefinition service ein. Wenn Sie die Elementdefinition in der Konfigurationsdatei nicht angeben, wird standardmäßig die Version für den Dienst default bereitgestellt.

Dateien ignorieren

Sie können mit einer .gcloudignore-Datei Dateien und Verzeichnisse festlegen, die beim Bereitstellen Ihrer Dienste nicht in App Engine hochgeladen werden sollen. So lassen sich Build-Artefakte und andere Dateien ausschließen, die bei der Bereitstellung nicht hochgeladen werden müssen.

Build-Images verwalten

Jedes Mal, wenn Sie eine neue Version bereitstellen, wird mit dem Dienst Cloud Build ein Container-Image erstellt. Dieses Container-Image wird dann in der App Engine-Standardumgebung ausgeführt.

Erstellte Container-Images werden im Ordner app-engine in Container Registry gespeichert. Sie können diese Images herunterladen, um sie an einem anderen Ort aufzubewahren oder auszuführen. Sobald die Bereitstellung abgeschlossen ist, benötigt App Engine die Container-Images nicht mehr. Sie werden allerdings nicht automatisch gelöscht. Wenn Sie also verhindern möchten, dass Ihr Speicherkontingent ausgeschöpft wird, können Sie nicht mehr benötigte Images bedenkenlos löschen. Weitere Informationen zum Verwalten von Images in Container Registry finden Sie in der Dokumentation zu Container Registry.

App ansehen

Wenn Sie die Anwendung in App Engine bereitgestellt haben, können Sie mit dem folgenden Befehl den Browser starten und die Anwendung unter https://PROJECT_ID.REGION_ID.r.appspot.com aufrufen:

gcloud app browse

Vor dem Verschieben von Traffic in App Engine testen

Bevor Sie eine neue Version zum Empfang von Traffic konfigurieren, können Sie sie in App Engine testen. Eine neue Version des Dienstes default wird beispielsweise so getestet:

  1. Stellen Sie die neue Version bereit, aber verhindern Sie, dass Traffic automatisch dorthin geleitet wird:

    gcloud app deploy --no-promote

  2. Greifen Sie über folgende URL auf die neue Version zu:

    https://VERSION_ID-dot-default-dot-PROJECT_ID.REGION_ID.r.appspot.com

    Sie können die neue Version jetzt in der App Engine-Laufzeitumgebung testen. Prüfen Sie die zugehörigen Logs, um Fehler in der Anwendung zu beheben. Weitere Informationen finden Sie unter Anwendungslogs schreiben.

    Anfragen an https://PROJECT_ID.REGION_ID.r.appspot.com werden an die Version weitergeleitet, die zuvor für den Empfang von Traffic konfiguriert wurde.

  3. Wenn Sie Traffic an die neue Version senden möchten, migrieren Sie den Traffic mithilfe der Cloud Console:

    Versionen verwalten

    Wählen Sie die Version aus, die Sie gerade erstellt haben, und klicken Sie auf Traffic migrieren.

Zum Testen neuer Versionen anderer Dienste können Sie ebenso vorgehen. Ersetzen Sie in der URL einfach default durch den Namen des Dienstes:

https://VERSION_ID-dot-SERVICE_ID-dot-PROJECT_ID.REGION_ID.r.appspot.com

Weitere Informationen zum Auswählen bestimmter Dienste und Versionen finden Sie unter Anfragerouting.