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 nécessite Ruby versions 2.6 ou 2.7.
Avant de commencer
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure 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.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Configurer votre environnement local pour Rails
Pour configurer votre environnement local pour le développement Rails, procédez comme suit :
Vous pouvez également utiliser Cloud Shell, qui comprend déjà Ruby, Rails et 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_example
Accé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 :
Installez les dépendances en utilisant Bundler :
bundle install
Démarrez un serveur Web local :
bundle exec rails server
Dans votre navigateur, accédez à http://localhost:3000/.
Le message "Yay! You’re on Rails!" de l'exemple d'application s'affiche sur la page.
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é
WelcomeController
avec une actionindex
.bundle exec rails generate controller Welcome index
Ouvrez le fichier
app/views/welcome/index.html.erb
pour 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
index
comme 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.rb
pour 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 CLI gcloud tente de deviner la configuration de 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 secret
Copiez la clé secrète générée. Vous l'utiliserez à l'étape suivante.
Ouvrez le fichier
app.yaml
que vous avez créé précédemment et ajoutez une sectionenv_variables
.env_variables
définit les variables d'environnement dans l'environnement deproduction
de l'environnement flexible App Engine. Votre fichierapp.yaml
devrait 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 create
Sélectionnez une région compatible avec 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.com
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet Google Cloud.REGION_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 crée 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 situé dans Google Cloud Console ou en utilisant gcloud app logs read
.
Pour en savoir plus sur la lecture des journaux, utilisez la CLI gcloud.
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 :
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Supprimer une version App Engine
Pour supprimer une version d'application :
- In the Google Cloud console, go to the Versions page for App Engine.
- Select the checkbox for the non-default app version that you want to delete.
- Pour supprimer la version de l'application, cliquez sur Supprimer.
Étapes suivantes
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.