Dê os primeiros passos no desenvolvimento de aplicativos Ruby on Rails executados no ambiente flexível do App Engine. Os aplicativos que você cria são executados na mesma infraestrutura que capacita todos os produtos do Google. Assim, você tem a certeza de que eles são escalonados para suprir todos os usuários, sejam eles poucos ou milhões.
Para acompanhar o tutorial, é preciso conhecer o desenvolvimento do Rails para a Web. Nele, você verá as etapas de implantação de um novo aplicativo do Rails.
Este tutorial oferece suporte e requer Ruby 3.0 ou mais recente.
Antes de começar
- Faça login na sua Google Cloud conta do. Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Instale a Google Cloud CLI.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
Configurar o ambiente local para o Rails
Para configurar o ambiente local para desenvolvimento do Rails, faça o seguinte:
Instale Ruby versão 3.0 ou mais recente.
Instale o gem do Rails 7.
Instale o Bundler gem.
Se preferir, use o Cloud Shell, que já vem com o Ruby, o Rails e a Google Cloud CLI instalados.
Para mais informações sobre como instalar o Rails e as respectivas dependências, consulte o guia Primeiros passos com o Rails oficial.
Depois de concluir os pré-requisitos, é possível criar e implantar um aplicativo do Rails. Veja nas seções a seguir as etapas para configurar, executar e implantar um aplicativo.
Criar um novo aplicativo
Crie um novo app de exemplo do Rails.
rails new appengine_exampleAcesse o diretório que contém a amostra do código.
cd appengine_example
Executar o aplicativo localmente
Para executar o novo aplicativo do Rails no computador local, siga estas etapas:
Inicie um servidor da Web local.
bundle exec rails serverNo navegador, acesse http://localhost:3000/.
O app de exemplo mostra o logotipo do Rails com as versões do Rails e do Ruby.
Adicionar uma página simples
Agora, adicione uma página de boas-vindas ao aplicativo Rails gerado.
Para gerar a estrutura de uma nova página, crie um novo controlador do Rails chamado
WelcomeControllercom uma açãoindex.bundle exec rails generate controller Welcome indexAbra o arquivo
app/views/welcome/index.html.erbpara ver o seguinte HTML padrão.Modifique o arquivo como quiser. Por exemplo, você pode usar o seguinte conteúdo:
Defina a ação do controlador
indexcomo a ação raiz para o Rails. Sempre que um usuário acessar o aplicativo do Rails, ele verá sua página de boas-vindas.Abra o arquivo
config/routes.rbpara ver o seguinte conteúdo gerado.Para modificar esse arquivo, adicione
root 'welcome#index'.Salve e feche o arquivo. Teste o aplicativo do Rails como você fez antes.
Implantar o app no ambiente flexível do App Engine
O ambiente flexível do App Engine usa um arquivo denominado
app.yaml.
para descrever a configuração de implantação de um aplicativo. Se o arquivo não estiver presente, a CLI gcloud tentará deduzir a configuração da implantação. Porém, é uma boa ideia fornecer esse arquivo, porque o Rails requer uma chave secreta em um ambiente de produção.
Para configurar o app de exemplo para implantação no App Engine, crie um novo arquivo chamado app.yaml na raiz do diretório do app de exemplo e adicione o seguinte:
Configurar a chave secreta do Rails
Ao implementar um aplicativo do Rails no ambiente de produção, defina a variável de ambiente SECRET_KEY_BASE como uma chave secreta usada para proteger os dados da sessão do usuário. Essa variável de ambiente é lida no
arquivo config/secrets.yml.
Gere uma nova chave secreta.
bundle exec rails secretCopie a chave secreta gerada. Você usará essa chave na próxima etapa.
Abra o arquivo
app.yamlcriado anteriormente e adicione uma seçãoenv_variables. Oenv_variablesdefine variáveis de ambiente no ambienteproductionno ambiente flexível do App Engine. Oapp.yamlserá semelhante ao exemplo abaixo. Substitua[SECRET_KEY]pela chave secreta na área de transferência.
Configurar um aplicativo de ambiente flexível do App Engine
Se esta for a primeira vez que você está implantando um aplicativo, é necessário criar um aplicativo de ambiente flexível do App Engine para ajudar a selecionar a região em que o aplicativo do Rails será executado. Leia mais sobre regiões e zonas.
Crie um aplicativo do App Engine. Por padrão, o comando a seguir cria duas instâncias:
gcloud app createSelecione uma região que ofereça suporte ao ambiente flexível do App Engine para aplicativos Ruby.
Implantar no ambiente flexível do App Engine
Execute o seguinte comando para implantar o app de exemplo:
gcloud app deploy
Aguarde a notificação sobre a conclusão da atualização. Isso pode demorar alguns minutos.
Acessar o aplicativo do Rails implantado
Para recuperar o ID do projeto, execute
gcloud info.No navegador, digite o seguinte URL:
https://PROJECT_ID.REGION_ID.r.appspot.comSubstitua:
PROJECT_ID: ID do seu Google Cloud projetoREGION_ID: um código que o App Engine atribui ao seu app
O conteúdo a seguir é exibido.

Desta vez, sua solicitação é veiculada pelo aplicativo do Rails em execução no ambiente flexível do App Engine.
Esse comando implanta o aplicativo conforme descrito em app.yaml e define a versão recém-implantada
como padrão. Com isso, ela veicula todo o tráfego novo.
Durante a implantação do app, várias mensagens repetidas podem ser vistas, enquanto é verificado pela plataforma se o app está veiculando. Isso é normal. Aguarde a mensagem notificando que a atualização do app foi concluída.
Atualize o aplicativo e implante a versão atualizada com o mesmo comando usado para implantá-lo pela primeira vez. A implantação cria uma nova versão do app e a define como padrão. As versões mais antigas são mantidas, bem como as instâncias de VM associadas. Lembre-se de que essas versões do aplicativo e instâncias de VM são recursos passíveis de cobrança.
Ler registros do App Engine
Agora que implantou o aplicativo Rails, você poderá ler os registros. Você pode ler os registros do app usando o
Análise de registros
localizado no Google Cloud console ou usando gcloud app logs read.
Saiba mais sobre
como ler registros usando a CLI gcloud.
Limpar recursos
Depois de concluir o tutorial, limpe os recursos que você criou para que eles parem de usar a cota e incorrer em cobranças. Nas seções a seguir, você aprenderá a excluir e desativar esses recursos.
Excluir projeto
O jeito mais fácil de evitar cobranças é excluindo o projeto que você criou para o tutorial.
Para excluir o projeto:
- No Google Cloud console, acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir.
- Na caixa de diálogo, digite o ID do projeto e clique em Desligar para excluir o projeto.
Excluir uma versão do aplicativo do App Engine
Para excluir uma versão do app:
- No Google Cloud console, acesse a página Versões do App Engine.
- Marque a caixa de seleção da versão não padrão do app que você quer excluir.
- Para excluir a versão do app, clique em Excluir.
A seguir
Saiba como usar o Cloud SQL para MySQL com o Rails.
Saiba como usar o Cloud SQL para PostgreSQL com o Rails.
Saiba como executar a amostra do Ruby Bookshelf no ambiente flexível do App Engine.
Saiba como executar a amostra do Ruby Bookshelf no Compute Engine.
Saiba como executar a amostra do Bookshelf em Ruby no GKE.