Commencez à développer des applications Ruby on Rails qui s'exécutent dans l'environnement flexible App Engine. Les applications créées sont exécutées sur l'infrastructure sur laquelle sont basés tous les produits Google, vous avez la garantie d'un dimensionnement efficace, à même de desservir l'ensemble de vos utilisateurs, qu'ils soient une poignée ou plusieurs millions.
Dans ce tutoriel, nous partons du principe que vous connaissez bien le développement Web avec Rails. L'objectif est ici de vous guider lors du déploiement d'une nouvelle application Rails.
Ce tutoriel est compatible avec Ruby 3.0 ou une version ultérieure, et il est nécessaire de l'utiliser.
Avant de commencer
- Connectez-vous à votre Google Cloud compte. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
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.
-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init
Configurer votre environnement local pour Rails
Pour configurer votre environnement local pour le développement Rails, procédez comme suit :
Installez Ruby version 3.0 ou ultérieure.
Installez le gem Rails 7.
Installez le Bundler gem.
Vous pouvez également utiliser Cloud Shell, qui est déjà installé avec Ruby, Rails et la Google Cloud CLI.
Pour obtenir plus d'informations sur l'installation de Rails et de ses dépendances, reportez-vous au guide officiel Getting started with Rails.
Une fois les conditions préalables remplies, vous pouvez créer et déployer une application Rails. Les sections suivantes vous guident dans la configuration, l'exécution et le déploiement d'une application.
Créer une application
Créez un exemple d'application Rails.
rails new appengine_exampleAccédez au répertoire qui contient l'exemple de code.
cd appengine_example
Exécuter l'application en local
Pour exécuter la nouvelle application Rails sur votre ordinateur local :
Démarrez un serveur Web local :
bundle exec rails serverDans votre navigateur, accédez à http://localhost:3000/.
L'exemple d'application affiche le logo Rails avec les versions de Rails et de Ruby.
Ajouter une page simple
Ajoutez maintenant une page de bienvenue à l'application Rails générée.
Pour générer le scaffold d'une nouvelle page, créez un contrôleur Rails nommé
WelcomeControlleravec une actionindex.bundle exec rails generate controller Welcome indexOuvrez le fichier
app/views/welcome/index.html.erbpour afficher le code HTML réutilisable suivant.Modifiez le fichier comme vous le souhaitez. Par exemple, vous pouvez utiliser le contenu suivant :
Définissez l'action de contrôleur
indexcomme action racine pour Rails. Dès lors, chaque fois qu'un utilisateur visite l'application Rails, il voit votre page de bienvenue.Ouvrez le fichier
config/routes.rbpour voir le contenu généré, reproduit ci-dessous.Pour modifier ce fichier, ajoutez
root 'welcome#index'.Enregistrez le fichier, puis fermez-le. Testez l'application Rails comme vous l'avez fait précédemment.
Déployer l'application dans l'environnement flexible App Engine
L'environnement flexible App Engine utilise un fichier appelé app.yaml.
pour décrire la configuration de déploiement d'une application. Si ce fichier est absent, la gcloud CLI tente de déterminer la configuration du déploiement. Nous vous recommandons toutefois de fournir ce fichier, car Rails nécessite une clé secrète dans un environnement de production.
Pour configurer l'exemple d'application en vue du déploiement sur App Engine, créez un fichier nommé app.yaml à la racine du répertoire de votre exemple d'application et ajoutez-y les lignes suivantes :
Configurer la clé secrète Rails
Lorsque vous déployez une application Rails dans l'environnement de production, définissez la variable d'environnement SECRET_KEY_BASE en indiquant une clé secrète utilisée pour protéger les données de session de l'utilisateur. Cette variable d'environnement est lue dans le fichier config/secrets.yml.
Générez une nouvelle clé secrète.
bundle exec rails secretCopiez la clé secrète générée. Vous l'utiliserez à l'étape suivante.
Ouvrez le fichier
app.yamlque vous avez créé précédemment et ajoutez une sectionenv_variables.env_variablesdéfinit les variables d'environnement dans l'environnement deproductionde l'environnement flexible App Engine. Votre fichierapp.yamldevrait ressembler à l'exemple ci-dessous, avec la clé secrète à la place de l'espace réservé[SECRET_KEY].
Configurer une application d'environnement flexible App Engine
Si vous déployez une application pour la première fois, vous devez créer une application d'environnement flexible App Engine qui vous aidera à sélectionner la région dans laquelle exécuter l'application Rails. Pour en savoir plus, consultez la documentation sur les régions et les zones.
Créez une application App Engine. Par défaut, la commande suivante crée deux instances :
gcloud app createSélectionnez une région prenant en charge l'environnement flexible App Engine pour les applications Ruby.
Effectuer un déploiement dans l'environnement flexible App Engine
Déployez l'exemple d'application en exécutant la commande suivante :
gcloud app deploy
Attendez le message vous informant que la mise à jour est terminée. Cette opération peut prendre plusieurs minutes.
Accéder à l'application Rails déployée
Pour récupérer votre ID de projet, exécutez la commande
gcloud info.Dans votre navigateur Web, saisissez l'URL suivante :
https://PROJECT_ID.REGION_ID.r.appspot.comRemplacez les éléments suivants :
PROJECT_ID: Votre Google Cloud ID de projetREGION_ID: code attribué par App Engine à votre application
Le contenu suivant s'affiche.

Cette fois, votre requête est traitée par l'application Rails s'exécutant dans l'environnement flexible App Engine.
Cette commande déploie l'application conformément aux instructions du fichier app.yaml, et définit la version nouvellement déployée comme version par défaut, de sorte que celle-ci diffuse tout le nouveau trafic.
Lors du déploiement de l'application, certains messages risquent de s'afficher plusieurs fois pendant que la plate-forme vérifie si l'application est en service. Ceci est normal. Attendez le message indiquant que la mise à jour de l'application est terminée.
Pour mettre à jour l'application, vous pouvez déployer la version à jour en saisissant la même commande que celle utilisée pour le premier déploiement. Le nouveau déploiement génère une nouvelle version de votre application, qui est alors définie comme version par défaut. Les anciennes versions de votre application sont conservées, tout comme les instances de VM associées. Sachez que toutes ces versions d'application et instances de VM sont des ressources facturables.
Lire les journaux App Engine
Maintenant que vous avez déployé votre application Rails, vous voudrez peut-être en consulter les journaux. Vous
pouvez lire les journaux d'application à l'aide de l'
explorateur de journaux
disponible dans la Google Cloud console ou en utilisant gcloud app logs read.
Pour en savoir plus sur
la lecture des journaux à l'aide de la gcloud CLI, consultez cette page.
Effectuer un nettoyage des ressources
Une fois le tutoriel terminé, vous pouvez procéder au nettoyage des ressources que vous avez créées afin qu'elles ne soient plus comptabilisées dans votre quota et qu'elles ne vous soient plus facturées. Dans les sections suivantes, nous allons voir comment supprimer ou désactiver ces ressources.
Supprimer le projet
Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé pour ce tutoriel.
Pour supprimer le projet :
- Dans la Google Cloud console, accédez à la page Gérer les ressources.
- Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
- Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez Arrêter pour supprimer le projet.
Supprimer une version App Engine
Pour supprimer une version d'application :
- Dans la Google Cloud console, accédez à la page Versions pour App Engine.
- Cochez la case correspondant à la version de l'application autre que celle par défaut que vous souhaitez supprimer.
- Pour supprimer la version de l'application, cliquez sur Supprimer.
Étape suivante
Découvrez comment utiliser Cloud SQL pour MySQL avec Rails.
Découvrez comment utiliser Cloud SQL pour PostgreSQL avec Rails.
Découvrez comment exécuter l'exemple d'application Ruby Bookshelf dans l'environnement flexible App Engine.
Découvrez comment exécuter l'exemple d'application Ruby Bookshelf sur Compute Engine.
Découvrez comment exécuter l'exemple d'application Ruby Bookshelf sur GKE.