Il arrive que les ingénieurs écument tutoriels et articles pour comprendre comment faire fonctionner ou déployer leur application, ou un composant de leur stack.
C'était récemment le cas d'un client qui peinait à déployer son application React / NodeJS sur Google App Engine. Notre équipe l'a accompagné et son application tournait en moins d'une heure après sa demande.

Ayant déjà publié des exemples sur la façon de dockeriser des applications React conformes à la méthodologie 12-factor (via les variables d'environnement), j'ai voulu m'y essayer moi-même. J'ai créé une application React basique avec create-react-app et je l'ai déployée sur App Engine grâce au SDK gcloud de Google. En quelques minutes, elle tournait dans le cloud — voici donc ce qui a fonctionné.
Objectif
Si tout se passe comme prévu, vous devriez voir quelque chose de ce genre dans votre navigateur quelques minutes après avoir suivi ces instructions (avec une URL différente, évidemment).

Exemple concret d'une application React sur App Engine en quelques minutes
Prérequis
- NodeJS installé (sur Mac :
brew install node) - SDK GCloud installé (installation) et authentifié
- Un projet Google Cloud Platform (GCP) actif
Script fonctionnel
Pour aller droit au but, voici les étapes qui ont fonctionné pour moi. Vous pouvez les exécuter une à une, ou simplement copier ce fichier, le rendre exécutable, modifier l'ID du projet et le lancer en local.
En quelques minutes, votre application devrait être opérationnelle et accessible depuis un navigateur. Vous pouvez aussi consulter le dépôt d'exemple ci-dessous pour un démarrage rapide.
Nettoyage
Pour éviter toute facturation imprévue sur votre compte cloud, supprimez soit votre projet, soit l'application que vous avez déployée à l'aide de la commande ci-dessous
# remove app engine service
gcloud app services delete <YOUR APP NAME># if warnings, potentially delete versions
gcloud app versions listgcloud app versions delete <VERSION ID> # repeat