Comienza a desarrollar apps de Ruby on Rails que se ejecuten en el entorno flexible de App Engine. Las apps que crees se ejecutarán en la misma infraestructura que impulsa todos los productos de Google, ten la confianza de que escalarán para atender a todos tus usuarios, sin importar si son unos pocos o millones.
Para este instructivo, suponemos que conoces el desarrollo web con Rails. Este te guía a través de la implementación de una aplicación de Rails nueva.
Este instructivo admite y requiere Ruby 3.0 o una versión posterior.
Antes de comenzar
- Accede a tu cuenta de Google Cloud . Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
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.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
Configura el entorno local para Rails
Para configurar tu entorno local para el desarrollo de Rails, deberás hacer lo siguiente:
De manera alternativa, puedes usar Cloud Shell, que incluye Ruby, Rails y Google Cloud CLI instalados.
Para obtener información adicional sobre la instalación de Rails y sus dependencias, consulta la guía oficial Comenzar a usar Rails.
Una vez que completes los requisitos, puedes crear e implementar una app de Rails. En las secciones siguientes, se te guiará para configurar, ejecutar e implementar una app.
Crea una app nueva
Crea una app de muestra de Rails nueva.
rails new appengine_exampleVe al directorio que contiene el código de muestra.
cd appengine_example
Ejecuta la app de forma local
Para ejecutar la app de Rails nueva en tu computadora local, haz lo siguiente:
Inicia un servidor web local.
bundle exec rails serverEn tu navegador, ve a http://localhost:3000/.
La app de ejemplo muestra el logotipo de Rails con las versiones de Rails y Ruby.
Agrega una página sencilla
Ahora, agrega una página de bienvenida a la app de Rails que generaste.
A fin de generar la estructura para una página nueva, crea un controlador de Rails nuevo llamado
WelcomeControllercon una acciónindex.bundle exec rails generate controller Welcome indexAbre el archivo
app/views/welcome/index.html.erbpara ver la siguiente plantilla HTML.Modifica el archivo según prefieras. Por ejemplo, puedes usar el contenido siguiente:
Configura la acción
indexdel controlador como la acción raíz de Rails. Luego, cada vez que un usuario visite la app de Rails, verá tu página de bienvenida.Abre el archivo
config/routes.rbpara ver el siguiente contenido autogenerado.Para modificar este archivo, agrega
root 'welcome#index'.Guarde y cierre el archivo. Prueba la app de Rails como lo hiciste antes.
Implementa la app en el entorno flexible de App Engine
El entorno flexible de App Engine usa un archivo llamado app.yaml.
para describir la configuración de implementación de una app. Si este archivo no está presente, la gcloud CLI intentará predecir la configuración de implementación. Sin embargo, se recomienda proporcionar este archivo, ya que Rails requiere una clave secreta en un entorno de production.
A fin de configurar la app de muestra para tu implementación en App Engine, crea un archivo nuevo llamado app.yaml en la raíz del directorio de tu aplicación de muestra y agrega lo siguiente:
Configura la clave secreta de Rails
Cuando implementes una app de Rails en el entorno de producción, configura la variable de entorno SECRET_KEY_BASE en una clave secreta que se utiliza para proteger los datos de sesión del usuario. Esta variable de entorno se lee en el archivo config/secrets.yml.
Genera una clave secreta nueva.
bundle exec rails secretCopia la clave secreta generada. Debes usar la clave secreta en el siguiente paso.
Abre el archivo
app.yamlque creaste anteriormente y agrega una secciónenv_variables.env_variablesconfigura variables de entorno en el entornoproductionen el entorno flexible de App Engine. Tuapp.yamldebería verse como el ejemplo a continuación, con[SECRET_KEY]reemplazado por la clave secreta copiada.
Configura una app en el entorno flexible de App Engine
Si es la primera vez que implementas una app, debes crear una para el entorno flexible de App Engine que te ayude a seleccionar la región en la que deseas ejecutar la app de Rails. Obtén más información sobre las regiones y zonas.
Crea una app de App Engine. De forma predeterminada, el siguiente comando crea dos instancias:
gcloud app createSelecciona una región que admita el entorno flexible de App Engine para apps de Ruby.
Implementa el entorno flexible de App Engine
Para implementar la app de ejemplo, ejecuta el siguiente comando:
gcloud app deploy
Espera a que aparezca el mensaje que informa que la actualización se completó. Esto puede tardar varios minutos.
Accede a la app de Rails implementada
Para recuperar el ID de tu proyecto, ejecuta
gcloud info.En el navegador, ingresa la siguiente URL:
https://PROJECT_ID.REGION_ID.r.appspot.comReemplaza lo siguiente:
PROJECT_ID: ID de tu proyecto de Google CloudREGION_ID: Un código que App Engine asigna a la app
Se muestra el siguiente contenido.

Esta vez, la app de Rails que se ejecuta en el entorno flexible de App Engine es la que atiende tu solicitud.
Este comando implementa la app como se describe en app.yaml y configura la versión recién implementada como la versión predeterminada, lo que hace que entregue todo el tráfico nuevo.
A medida que la app se implementa, es posible que veas varios mensajes repetidos mientras que la plataforma verifica si la app está atendiendo. Esto es normal. Espera a que aparezca el mensaje que informa que la actualización de la app se completó.
Si actualizas tu app, podrás implementar la versión actualizada mediante el mismo comando que usaste para implementar la app por primera vez. La implementación nueva crea una versión nueva de tu app y la convierte en la versión predeterminada. Las versiones anteriores de la app se conservan, al igual que sus instancias de VM asociadas. Ten en cuenta que todas estas instancias de VM y versiones de la app son recursos facturables.
Lee los registros de App Engine
Ahora que implementaste tu app de Rails, te recomendamos leer los registros. Puedes leer los registros de la app con el Explorador de registros ubicado en la consola de Google Cloud o con gcloud app logs read.
Puedes obtener más información para leer registros con la CLI de gcloud.
Limpia los recursos
Una vez que termines el instructivo, puedes limpiar los recursos que creaste para que dejen de usar la cuota y generar cargos. En las siguientes secciones, se describe cómo borrar o desactivar estos recursos.
Borrar proyecto
La manera más fácil de eliminar la facturación es borrar el proyecto que creaste para el instructivo.
Para borrar el proyecto, sigue estos pasos:
- En la Google Cloud consola, ve a la página Administrar recursos.
- En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
- En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.
Borra una versión de App Engine
Para borrar la versión de una aplicación, haz lo siguiente:
- En la consola de Google Cloud , ve a la página Versiones de App Engine.
- Selecciona la casilla de verificación de la versión no predeterminada de la app que deseas borrar.
- Para borrar la versión de la app, haz clic en Borrar.
¿Qué sigue?
Aprende a usar Cloud SQL para MySQL con Rails.
Aprende cómo usar Cloud SQL para PostgreSQL con Rails.
Aprende cómo ejecutar la muestra de Bookshelf para Ruby en el entorno flexible de App Engine.
Aprende cómo ejecutar la muestra de Bookshelf para Ruby en Compute Engine.
Aprende cómo ejecutar la muestra de Bookshelf para Ruby en GKE.