Guia de início rápido do Ruby no ambiente flexível do App Engine

Neste guia de início rápido, você aprenderá a criar um pequeno aplicativo do App Engine que exibe uma mensagem curta.

Antes de começar

Antes de executar e implantar este início rápido, instale o SDK do Cloud e, em seguida, configure um projeto do GCP para o App Engine:

  1. Faça o download e instale o SDK do Cloud:

    Fazer o download do SDK

    Observação: se o SDK do Cloud já estiver instalado, atualize-o executando o seguinte comando:

    gcloud components update
    
  2. Crie o novo projeto:

    gcloud projects create [YOUR_PROJECT_NAME] --set-as-default
    

    Verifique se o projeto foi criado:

    gcloud projects describe [YOUR_PROJECT_NAME]
    

    Você verá detalhes do projeto parecidos com o seguinte:

    createTime: year-month-hour
    lifecycleState: ACTIVE
    name: project-name
    parent:
    id: '433637338589'
    type: organization
    projectId: project-name-id
    projectNumber: 499227785679
    
  3. Inicialize seu aplicativo do App Engine com o projeto e escolha a região dele:

    gcloud app create --project=[YOUR_PROJECT_NAME]
    

    Quando solicitado, selecione a região em que o aplicativo do App Engine será armazenado.

  4. Verifique se o faturamento está ativado no projeto. Uma conta de faturamento precisa estar vinculada ao projeto para que o aplicativo seja implantado no App Engine.

    Ativar faturamento

  5. Instale os seguintes pré-requisitos:

Locais do App Engine

Como o App Engine é regional, a infraestrutura de execução dos aplicativos está em uma determinada região e é gerenciada pelo Google para que esteja disponível de modo redundante em todas as zonas dessa região.

Os seus requisitos de latência, disponibilidade ou durabilidade são os principais fatores considerados para selecionar a região em que os aplicativos serão executados. Em geral, você escolhe a região mais próxima dos usuários do app. No entanto, pense também no local dos outros produtos e serviços do GCP utilizados pelo app. Se você usa os serviços em vários locais, a latência e o preço do app podem ser afetados.

O App Engine está disponível nas seguintes regiões:

  • northamerica-northeast1 (Montreal)
  • us-central (Iowa)
  • us-west2 (Los Angeles)
  • us-east1 (Carolina do Sul)
  • us-east4 (Virgínia do Norte)
  • southamerica-east1 (São Paulo)
  • europe-west (Bélgica)
  • europe-west2 (Londres)
  • europe-west3 (Frankfurt)
  • europe-west6 (Zurique)
  • asia-northeast1 (Tóquio)
  • asia-northeast2 (Osaka)
  • asia-east2 (Hong Kong)
  • asia-south1 (Mumbai)
  • australia-southeast1 (Sydney)

Não é possível alterar a região de um aplicativo depois de defini-la.

Caso já tenha criado um aplicativo do App Engine, execute o comando gcloud app describe ou abra o painel do App Engine no Console do GCP para visualizar a região. A região do aplicativo do App Engine está listada em http://[YOUR_PROJECT_ID].appspot.com.

Neste guia de início rápido, demonstramos um aplicativo simples em Ruby escrito com o framework da Web Sinatra (em inglês) que pode ser implantado no App Engine. Essa amostra usa o Sinatra, mas é possível usar outros frameworks, como o Ruby on Rails (em inglês).

Fazer o download do app Hello World

Para que você tenha uma ideia rápida de como implantar um aplicativo no Google Cloud Platform, criamos um aplicativo Hello World simples para o Ruby.

  1. Clone o repositório do app de amostra Hello World na máquina local.

    git clone https://github.com/GoogleCloudPlatform/ruby-docs-samples
    

    Outra opção é fazer o download da amostra (em inglês) como um arquivo ZIP e extraí-lo.

  2. Acesse o diretório que contém o código de amostra.

    cd ruby-docs-samples/appengine/hello_world
    

Como executar o Hello World na máquina local

Para executar o aplicativo Hello World no seu computador:

  1. Instale as dependências para o projeto.

    bundle install
    
  2. Inicie um servidor da Web local.

    bundle exec ruby app.rb -p 8080
    
  3. No navegador da Web, digite http://localhost:8080.

    A mensagem Hello World do aplicativo de amostra é exibida na página. Na janela do terminal, pressione Ctrl+C para sair do servidor da Web.

    Implantar e executar o Hello World no App Engine

    Para implantar o aplicativo Hello World no ambiente flexível do App Engine, siga estas etapas:

    1. Implante o aplicativo Hello World executando o comando a seguir no diretório hello_world:

      gcloud app deploy

      Saiba mais sobre sinalizações opcionais.

      Sinalizações comuns do gcloud

      • Inclua a sinalização --version para especificar um código exclusivo da versão do seu app. Quando a sinalização não é incluída, o código é gerado automaticamente. Exemplo: --version [YOUR_VERSION_ID]
      • Inclua a sinalização --project para especificar um código do projeto do GCP como alternativa ao código definido como padrão na ferramenta gcloud. Exemplo: --project [YOUR_PROJECT_ID]

      Exemplo:

      gcloud app deploy --version pre-prod-5 --project my-sample-app

      Para aprender a implantar o app pela linha de comando, consulte Como testar e implantar o app. Para uma lista de todas as sinalizações de comando, consulte a referência gcloud app deploy.

    2. Abra o navegador para ver o aplicativo em http://YOUR_PROJECT_ID.appspot.com

      gcloud app browse
      em que YOUR_PROJECT_ID é o ID do projeto do GCP.

    Nesse momento, a página que exibe a mensagem Hello World é enviada por um servidor da Web em execução em uma instância do App Engine.

    Parabéns! Você implantou seu primeiro aplicativo do Ruby no ambiente flexível do App Engine.

    Nas próximas seções, veja informações sobre a limpeza e links para as possíveis próximas etapas.

Limpeza

Exclua seu projeto do GCP para não ser cobrado pelos recursos usados nele.

  1. No console do GCP, acesse a página "Projetos".

    Acessar a página Projetos

  2. Na lista de projetos, selecione o que você quer excluir e clique em Excluir projeto. Após marcar a caixa de seleção ao lado do nome do projeto, clique em Excluir projeto
  3. Na caixa de diálogo, digite o código do projeto e clique em Encerrar para excluí-lo.

A seguir

Agora que você concluiu o Hello World, é possível começar a explorar seu próximo aplicativo de amostra: o Bookshelf. Ele é um aplicativo da Web em Ruby mais completo que usa vários recursos do GCP, como armazenamento de dados, autenticação, geração de registros, Pub/Sub e muito mais.

Iniciar o tutorial do app Bookshelf

Consulte Ambiente flexível do App Engine para mais informações.

Revisão do código do Hello World

Hello World é o app mais simples possível do App Engine. Nele, há apenas um serviço e uma versão, e todo o código é armazenado no diretório raiz. Nesta seção, cada arquivo do app é descrito em detalhes.

app.rb

O aplicativo Hello World é um aplicativo Sinatra básico de um arquivo:

require "sinatra"

get "/" do
  "Hello world!"
end

app.yaml

O arquivo app.yaml descreve a configuração de implantação do aplicativo:

runtime: ruby
env: flex
entrypoint: bundle exec ruby app.rb

# This sample incurs costs to run on the App Engine flexible environment.
# The settings below are to reduce costs during testing and are not appropriate
# for production use. For more information, see:
# https://cloud.google.com/appengine/docs/flexible/ruby/configuring-your-app-with-app-yaml
manual_scaling:
  instances: 1
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

O ambiente de execução usado pelo aplicativo é especificado no arquivo app.yaml e define env: flex, que determina o uso do ambiente flexível no aplicativo.

Gemfile

Gemfile é usado para especificar as dependências do aplicativo no RubyGem, enquanto o Bundler (em inglês) é usado para declará-las e instalá-las. O aplicativo Hello World requer uma gem do Ruby, que é o framework da Web Sinatra:

source "https://rubygems.org"

gem "sinatra"
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…