Dans ce guide, nous vous guidons à travers le processus de mise en place et de configuration d’une application Ruby on Rails version 7.1 qui sera déployée et hébergée sur Kinsta. Que vous soyez un débutant ou un développeur Ruby on Rails expérimenté, ce tutoriel vous aidera à démarrer le déploiement de votre application sur Kinsta.

Pré-requis

Avant de plonger dans ce guide, nous supposons que vous avez une compréhension de base de Git et de Ruby on Rails, y compris l’installation de Ruby, Rails, et les dépendances nécessaires sur votre machine de développement local.

Étape 1 : Configurer un compte d’hébergement Kinsta

Visitez le site web de Kinsta et créez un nouveau compte si vous n’en avez pas déjà un. Configurez votre nom de domaine ou utilisez l’URL Kinsta qui vous est fournie lors du déploiement.

Étape 2 : Créer une nouvelle application Ruby on Rails

Ouvrez votre terminal et naviguez jusqu’au répertoire où vous souhaitez créer votre nouvelle application Rails. Exécutez la commande suivante pour la créer :

rails new myapp --database=postgresql --javascript=esbuild --css=tailwind

Cette commande crée une nouvelle application Rails nommée myapp avec PostgreSQL comme adaptateur de base de données, esbuild pour compiler notre Javascript, et Tailwind CSS et le framework.

N’hésitez pas à remplacer myapp par le nom de votre application.

Pour une liste complète des options disponibles à configurer à partir de la commande rails new, exécutez :

rails new --help

Étape 3 : Configurer votre application Rails

Allez dans le répertoire de l’application :

cd myapp

Assurez-vous que lorsque vous regroupez votre application Rails, la configuration ajoute également la plateforme Linux, car c’est le système d’exploitation utilisé pour le déploiement. Entrez la commande suivante dans le terminal :

bundle lock --add-platform x86_64-linux

Script de processus web

Ajoutez un fichier start.sh au répertoire bin de l’application. Cela permet de s’assurer que le serveur démarre votre application et exécute les commandes nécessaires au démarrage et à la mise à jour de la base de données avant de s’exécuter. Dans votre terminal, créez le fichier en saisissant :

touch bin/start.sh

Dans ce fichier, ajoutez les éléments suivants :

#!/bin/bash

bundle exec rails db:prepare
bundle exec rails server

Hello World

Et pour nous donner un Hello World, créez une page Home pour l’application. Dans votre terminal, saisissez :

bin/rails generate controller Home index

Ceci produira un résultat :

create  app/controllers/home_controller.rb
route    get 'home/index'
invoke  erb
create  app/views/home
create  app/views/home/index.html.erb
invoke  test_unit
create  test/controllers/home_controller_test.rb
invoke  helper
create  app/helpers/home_helper.rb
invoke  test_unit

Ouvrez app/views/home/index.html.erb, et remplacez son contenu par:

 <h1>Hello, Kinsta!</h1>

Définir la page d’accueil de l’application

Ouvrez config/routes.rb, et ajoutez la route racine suivante en haut du bloc Rails.application.routes.draw:

Rails.application.routes.draw do
  root "home#index"

  get "/home", to: "home#index"
end

Maintenant, lorsque nous lançons notre application localement, nous voyons notre nouvelle page d’accueil. Comme nous avons généré notre nouvelle application avec l’ajout de esbuild, nous avons une commande simplifiée pour nous aider à démarrer notre application. En exécutant la commande suivante, Rails démarre le serveur et surveille les changements CSS et Javascript avec un rechargement en direct :

bin/dev

Créer une base de données

Comme nous avons créé notre application Rails avec une base de données PostgreSQL, nous devons la configurer via le tableau de bord MyKinsta :

  • Connectez-vous à votre compte Kinsta.com, et depuis votre tableau de bord, cliquez sur Ajouter des services et sélectionnez Base de données.
  • Remplissez les détails de base et confirmez sur la page de résumé en cliquant sur Créer une base de données.
Créer une base de données
Créer une base de données

Étape 4 : Préparer le déploiement

Commencez par créer un nouveau dépôt sur GitHub pour héberger votre base de code.

Initialisez un dépôt Git localement dans le répertoire de votre application Rails au niveau racine :

git init

Créez un fichier .gitignore à la racine du répertoire de votre application et excluez les fichiers et répertoires inutiles du contrôle de version. Vous trouverez un exemple de fichier .gitignore pour une application Rails sur la page officielle de GitHub.

Pour connecter votre dépôt local au dépôt que vous avez créé sur GitHub, ajoutez l’origine distante à votre dépôt local, en remplaçant username et repository par les vôtres :

git remote add origin https://github.com/username/repository.git

Ajoutez, validez et poussez votre code dans le dépôt Git :

git add .
git commit -m "Initial commit"
git push

Notez que comme nous avons configuré Kinsta pour qu’il se déploie automatiquement à chaque poussée vers le dépôt, notre premier build échoue. Cela est dû au fait que nous n’avons pas encore connecté la base de données à l’application, ce que nous ferons dans l’étape suivante.

Étape 5 : Déployer sur Kinsta.com

  1. Connectez-vous à votre compte Kinsta.com.
  2. Depuis votre tableau de bord, cliquez sur Ajouter des services et sélectionnez Application.
  3. Connectez-vous à un fournisseur Git.
Connecter un fournisseur Git
Connecter un fournisseur Git

Configurer les détails de votre application

  1. Ajoutez le dépôt et sélectionnez la branche par défaut.
  2. (optionnel) Choisissez Déploiements automatiques pour cette branche par défaut.
  3. Ajoutez le nom de l’application. Il est utilisé pour identifier l’application dans votre tableau de bord.
  4. Choisissez l’emplacement du centre de données. Optez pour l’emplacement le plus proche de votre public.
Ajouter l'application
Ajouter l’application

Vous pouvez ajouter des variables d’environnement à ce stade (exemples). Votre application Rails nouvellement générée est livrée avec une clé maitre qui décrypte et lit les secrets dans le fichier credentials dans le dossier config. Ne gardez jamais votre clé maitre dans le contrôle de version (elle est déjà dans le fichier .gitignore).

Pour permettre le décryptage, vous devez configurer les variables à l’aide d’une clé spéciale. Développez Variables d’environnement, copiez la valeur de votre fichier de clé principale locale et collez-la dans la valeur 1 de la variable RAILS_MASTER_KEY:

Variables d'environnement
Variables d’environnement

Configurer votre environnement de construction

  1. Choisissez vos ressources de construction.
  2. Pour les applications Rails, sélectionnez Utiliser les Buildpacks.
  3. Cliquez sur Continuer.
Utiliser les Buildpacks
Utiliser les Buildpacks

Configurer les ressources de votre application

  1. Laissez le champ Commande de démarrage vide, car il est défini par la commande du fichier créé dans nos étapes précédentes bin/start.sh.
  2. Cliquez sur Continuer.
Configurer les processus
Configurer les processus

Créer la base de données de vos applications

Nous devons effectuer la configuration finale de la connexion à la base de données.

  1. Dans le menu MyKinsta Dashboard à gauche, cliquez sur Bases de données et cliquez sur le nom de la base de données nouvellement créée.
  2. Sous la rubrique Info, vous verrez un sous-titre Connexions internes, et cliquez sur Ajouter une application.
  3. Dans le menu déroulant, sélectionnez votre application Rails.
  4. Cochez la case Ajouter des variables d’environnement à l’application.
  5. Cliquez sur Ajouter une connexion.
Connexions internes
Connexions internes

Configurer votre base de données locale

Ouvrez le fichier config/database.yml et mettez à jour la configuration de la base de données en fonction de vos identifiants de base de données MyKinsta.

Exemple :

production:
  adapter: postgresql  
  encoding: unicode  
  pool: 5
  database: <%= ENV["DB_NAME"] %>
  host: <%= ENV["DB_HOST"] %>
  username: <%= ENV["DB_USER"] %>
  password: <%= ENV["DB_PASSWORD"] %> 

Vous trouverez plus d’informations sur la gestion des connexions à la base de données dans notre documentation sur les réglages.

Confirmez votre configuration et entrez les détails du paiement pour finaliser l’installation de l’application et Kinsta la déploie en quelques minutes.

Résumé

En suivant ce guide, vous avez réussi à mettre en place et à configurer votre application Ruby on Rails version 7.1 avec une base de données PostgreSQL pour la déployer et l’héberger sur Kinsta.

Vous pouvez maintenant vous concentrer sur le développement de votre application et utiliser les puissantes fonctionnalités fournies par Kinsta pour un déploiement et un hébergement sans faille. N’oubliez pas de vous référer à la documentation officielle ou de demander de l’aide au support de Kinsta si nécessaire.

Lee Sheppard

Lee is an Agile certified full stack Ruby on Rails developer. With over six years in the tech industry he enjoys teaching, coaching Agile, and mentoring others. Lee also speaks at tech related events and has a background in design and illustration.