Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Deploy di un'app React su Google App Engine

By Mike SparrAug 21, 20202 min read

Questa pagina è disponibile anche in English, Deutsch, Español, Français, 日本語 e Português.

Capita spesso che gli sviluppatori si tuffino in tutorial e articoli alla ricerca di come far girare o mettere in produzione la propria app o un componente del proprio stack.

È quanto è successo di recente a un cliente alle prese con il deploy di un'app React/NodeJS su Google App Engine. Il nostro team è intervenuto e in meno di un'ora dalla richiesta l'app era già online.

Avendo già pubblicato in passato alcuni esempi su come containerizzare con Docker app React seguendo la metodologia 12-factor (con variabili ENV), ho voluto provarci in prima persona. Ho creato un'app React di base con create-react-app e ne ho fatto il deploy su App Engine tramite l'SDK gcloud di Google. In pochi minuti era già attiva nel cloud: ecco cosa ha funzionato.

Obiettivo

Se tutto fila liscio, nel giro di pochi minuti dovreste vedere nel browser qualcosa di simile a questo (ovviamente con un URL diverso).

Esempio funzionante di app React su App Engine in pochi minuti

Prerequisiti

  • NodeJS installato (su Mac brew install node )
  • GCloud SDK installato ( install ) e autenticato
  • Progetto Google Cloud Platform (GCP) attivo

Lo script

Andiamo dritti al punto: ecco i passaggi che hanno funzionato. Potete eseguirli uno a uno oppure copiare il file, renderlo eseguibile, modificare l'ID del progetto e lanciarlo in locale.

In pochi minuti la vostra app dovrebbe essere in esecuzione e raggiungibile dal browser. Per partire al volo, potete anche consultare il repository di esempio qui sotto.

Pulizia

Per evitare addebiti imprevisti sul vostro account cloud, eliminate il progetto oppure rimuovete l'app appena messa in produzione con il comando qui sotto

# 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