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.
Para este instructivo debes tener Ruby 2.6 o 2.7.
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.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Configura el entorno local para Rails
A fin de configurar tu entorno local para el desarrollo de Rails, deberás hacer lo siguiente:
Como alternativa, puedes usar Cloud Shell, que incluye Ruby, Rails y la CLI de Google Cloud.
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_example
Ve 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:
Instala las dependencias con Bundler.
bundle install
Inicia un servidor web local.
bundle exec rails server
En tu navegador, ve a http://localhost:8000.
El mensaje: ¡Bien, ya estás en Rails! de la app se muestra en la página.
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
WelcomeController
con una acciónindex
.bundle exec rails generate controller Welcome index
Abre el archivo
app/views/welcome/index.html.erb
para ver el siguiente código HTML estándar.Modifica el archivo según prefieras. Por ejemplo, puedes usar el contenido siguiente:
Configura la acción
index
del 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.rb
para ver el siguiente contenido generado.Para modificar este archivo, agrega
root 'welcome#index'
.Guarda el archivo y ciérralo. 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 CLI de gcloud intenta adivinar 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 secret
Copia la clave secreta generada. Debes usar la clave secreta en el siguiente paso.
Abre el archivo
app.yaml
que creaste antes y agrega una secciónenv_variables
. Elenv_variables
configura las variables del entornoproduction
en el entorno flexible de App Engine. Tuapp.yaml
deberí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 aplicación de App Engine. De forma predeterminada, el siguiente comando crea dos instancias:
gcloud app create
Selecciona una región que admita el entorno flexible de App Engine para apps de Ruby.
Implementa el entorno flexible de App Engine
Implementa la app de muestra mediante la ejecución del 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 del proyecto, ejecuta
gcloud info
.En el navegador, ingresa la siguiente URL:
https://PROJECT_ID.REGION_ID.r.appspot.com
Reemplaza lo siguiente:
PROJECT_ID
: el ID del 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 mediante el Explorador de registros ubicado en Google Cloud Console o mediante gcloud app logs read
.
Puedes obtener más información sobre cómo leer registros mediante 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, haga lo siguiente:
- En la consola de Google Cloud, 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.