Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Déployer une application React sur Google App Engine

By Mike SparrAug 21, 20202 min read

Cette page est également disponible en English, Deutsch, Español, Italiano, 日本語 et Português.

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