Manchmal wälzen Engineers unzählige Tutorials und Artikel, nur um ihre App oder eine Komponente ihres Stacks ans Laufen oder ins Deployment zu bringen.
Genau so ein Fall war kürzlich ein Kunde, der seine React-/NodeJS-App partout nicht auf Googles App Engine deployt bekam. Unser Team hat unterstützt – keine Stunde nach der Anfrage lief alles.

Da ich in der Vergangenheit bereits Beispiele dafür erstellt habe, wie man React-Apps nach der 12-Factor-Methodik dockerisiert (mit ENV-Variablen), wollte ich es selbst ausprobieren. Ich habe eine einfache React-Anwendung mit create-react-app aufgesetzt und sie über Googles gcloud SDK auf App Engine deployt. Schon nach wenigen Minuten lief sie in der Cloud – deshalb teile ich hier, was funktioniert hat.
Ziel
Wenn alles wie geplant läuft, sollten Sie wenige Minuten nach dem Durcharbeiten dieser Anleitung in etwa Folgendes im Browser sehen (natürlich unter einer anderen URL).

Lauffähiges Beispiel einer React-App auf App Engine in wenigen Minuten
Voraussetzungen
- NodeJS installiert (auf dem Mac
brew install node) - GCloud SDK installiert (Installation) und authentifiziert
- Aktives Projekt auf der Google Cloud Platform (GCP)
Funktionierendes Skript
Kurz und knapp: Das sind die Schritte, die bei mir funktioniert haben. Sie können sie einzeln ausführen oder einfach die Datei kopieren, ausführbar machen, die Projekt-ID anpassen und lokal starten.
Innerhalb weniger Minuten sollte Ihre App laufen und im Browser erreichbar sein. Für einen Quickstart finden Sie unten auch das Beispiel-Repository.
Aufräumen
Um unerwartete Kosten in Ihrem Cloud-Konto zu vermeiden, löschen Sie entweder Ihr Projekt oder entfernen die deployte App mit dem folgenden Befehl
# App Engine-Service entfernen
gcloud app services delete <YOUR APP NAME># bei Warnungen ggf. Versionen löschen
gcloud app versions listgcloud app versions delete <VERSION ID> # wiederholen