Não é raro ver engenheiros vasculhando tutoriais e artigos atrás de uma forma de colocar um app (ou algum componente da stack) para rodar ou fazer o deploy.
Recentemente foi o caso de um cliente que estava com dificuldade para fazer o deploy do seu app React / NodeJS no App Engine do Google. Nosso time entrou em ação e, em menos de uma hora após a solicitação, ele já estava no ar.

Como já publiquei exemplos anteriormente de como dockerizar apps em React seguindo a metodologia 12-factor (usando variáveis de ambiente), resolvi testar por conta própria. Criei uma aplicação React simples com o create-react-app e fiz o deploy no App Engine usando o SDK gcloud do Google. Em poucos minutos estava tudo no ar, então achei que valia a pena compartilhar o que deu certo.
Objetivo
Se tudo der certo, em poucos minutos seguindo estas instruções você deve ver algo parecido com isto no seu navegador (com uma URL diferente, claro).

Exemplo do app React funcionando no App Engine em poucos minutos
Pré-requisitos
- NodeJS instalado (no Mac,
brew install node) - GCloud SDK instalado (instalar) e autenticado
- Projeto ativo no Google Cloud Platform (GCP)
Script que funciona
Sem enrolação, foram estes os passos que funcionaram para mim. Você pode executá-los um a um ou simplesmente copiar este arquivo, torná-lo executável, trocar o ID do projeto e rodar localmente.
Em poucos minutos seu app deve estar rodando e acessível pelo navegador. Você também pode acessar o repositório de exemplo abaixo para um quickstart.
Limpeza
Para evitar cobranças inesperadas na sua conta da nuvem, exclua o projeto ou remova o app que você fez deploy usando o comando abaixo
# 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