Ruby: Déployer en production

Comment déployer votre code Ruby en production en quelques minutes

👋 Bienvenue sur la documentation de Stackhero !

Stackhero propose une solution Ruby cloud prête à l'emploi qui offre de nombreux avantages, notamment :

  • Déployez votre application en quelques secondes avec un simple git push.
  • Utilisez votre propre nom de domaine et bénéficiez de la configuration automatique des certificats HTTPS pour une sécurité renforcée.
  • Profitez de la tranquillité d'esprit avec des sauvegardes automatiques, des mises à jour en un clic, et une tarification simple, transparente et prévisible.
  • Obtenez des performances optimales et une sécurité robuste grâce à une VM privée et dédiée.

Gagnez du temps et simplifiez-vous la vie : il ne faut que 5 minutes pour essayer la solution Ruby cloud hosting de Stackhero !

Le service d'hébergement cloud Ruby de Stackhero facilite le déploiement de vos projets Ruby en production en seulement quelques minutes, en combinant une plateforme puissante avec une expérience utilisateur intuitive.

Voici ce dont vous bénéficierez :

  • Déployez votre code avec un simple git push.
  • Utilisez votre propre nom de domaine, avec gestion automatique du certificat TLS (HTTPS).
  • Faites tourner votre application sur une VM dédiée et privée pour une sécurité et une confidentialité maximales.
  • Profitez du support HTTP/2, TLS 1.3 (HTTPS), WebSockets, compression GZIP et Brotli, ETag, accès aux ports TCP et UDP, et bien plus encore.

La seule chose dont vous avez besoin pour commencer à déployer vos projets sur Stackhero est Git installé sur votre ordinateur.

Si vous souhaitez gagner du temps ou préférez éviter de configurer un environnement local complexe, pensez à découvrir Code-Hero de Stackhero.

Code-Hero est une plateforme de développement prête à l'emploi accessible directement depuis votre navigateur, sur n'importe quel ordinateur, tablette ou téléphone. Basée sur un fork de VSCode, elle inclut tous les outils essentiels préinstallés et préconfigurés, pour que vous puissiez commencer à coder instantanément, sans aucune configuration.

<!-- ![Exemple d'une instance Code-Hero exécutée directement dans le navigateur](/images/docs/ruby/040_deploy/rubyInCodeHero.png) -->

Déployer votre application Ruby sur Stackhero est un processus simple. Voici les étapes à suivre, que nous détaillerons ensuite :

  1. Créez un service Ruby sur Stackhero.
  2. Ajoutez votre clé publique SSH dans la configuration de votre service Ruby.
  3. Configurez la commande git push sur votre plateforme de développement.
  4. Ajoutez un Makefile à votre projet.
  5. Déployez votre code en production.

Si vous rencontrez des difficultés lors du déploiement, la documentation Dépannage vous aidera à trouver rapidement une solution. Pensez à la consulter en premier pour gagner du temps et éviter toute frustration.

Si vous n'avez pas encore créé de service Stackhero for Ruby, vous pouvez le faire depuis votre tableau de bord Stackhero en quelques minutes.

Une fois votre service Ruby lancé, l'étape suivante consiste à ajouter votre clé publique SSH. Vous pouvez retrouver votre clé publique en exécutant :

cat ~/.ssh/id_*.pub

Vous n'avez pas encore de clés SSH ?

Vous pouvez les générer avec :

ssh-keygen -t ed25519

Pour ajouter votre clé SSH, rendez-vous sur votre tableau de bord Stackhero, sélectionnez votre service Ruby, cliquez sur "Configurer" et collez votre clé publique dans la section "Clés publiques SSH".

<!-- ![Exemple de configuration d'un service Ruby](/images/docs/ruby/040_deploy/rubyStackheroPublicKey.png) -->

Astuce : Vous souhaitez gagner du temps à l'avenir ? Ajoutez votre clé publique SSH à votre profil pour qu'elle soit automatiquement incluse lors de la création de nouveaux services.

Cliquez simplement sur votre photo de profil en haut à droite du tableau de bord, sélectionnez "Votre profil" et ajoutez-y votre clé publique SSH.

Le déploiement sur Stackhero utilise le CLI Git et la commande git push, vous n'avez donc pas besoin d'installer d'outils supplémentaires.

Vous pouvez copier la commande git remote depuis la page principale de votre service sur le tableau de bord Stackhero. Elle ressemble généralement à ceci :

git remote add stackhero ssh://stackhero@<XXXXXX>.stackhero-network.com:222/project.git
<!-- ![Commande Git remote Ruby sur le tableau de bord Stackhero](/images/docs/ruby/040_deploy/rubyStackheroGitRemote.png) -->

Pour indiquer à Stackhero comment exécuter votre application, vous devez créer un fichier Makefile à la racine de votre projet. Ce fichier définit les commandes utilisées par Stackhero lors du déploiement.

Si vous découvrez les Makefiles ou la commande make, pas d'inquiétude, les étapes ci-dessous vous guideront pas à pas.

Créez un fichier Makefile avec le contenu suivant :

run:
	rake assets:precompile
	rake db:migrate RAILS_ENV=production
	RAILS_ENV=production bundle exec puma -C config/puma.rb

Voici ce qui se passe dans ce Makefile :

  1. La règle run est obligatoire, Stackhero l'exécutera automatiquement lors du déploiement. Gardez bien ce nom, il sert de point d'entrée.
  2. Les commandes utilisent rake et bundle, mais vous pouvez les adapter selon les besoins de votre application.
  3. Assurez-vous que chaque ligne de commande commence par une tabulation, et non par des espaces. Si vous voyez une erreur du type *** missing separator, vérifiez bien ce formatage.

Dans l'exemple ci-dessus, le déploiement va :

  1. Précompiler les assets comme JavaScript et CSS dans le dossier public/assets.
  2. Exécuter les migrations de base de données nécessaires.
  3. Lancer le serveur Puma pour servir votre application.

Vous êtes prêt. Pour déployer votre code sur Stackhero, utilisez :

git push stackhero main

La première fois que vous lancez cette commande, il vous sera demandé de confirmer l'empreinte de la clé SSH. Répondez simplement "yes" pour continuer.

Après quelques instants, votre application sera en ligne.

<!-- ![Exemple de déploiement de code Ruby sur Stackhero avec la commande `git push`](/images/docs/ruby/040_deploy/rubyDeployGitPush.png) -->

Vous pouvez accéder à votre application déployée à l'adresse indiquée sur votre tableau de bord Stackhero. Elle ressemble généralement à https://<XXXXXX>.stackhero-network.com.

Félicitations. Votre application est maintenant en production.

Vous rencontrez des difficultés lors du déploiement ?

Pensez à consulter la section Dépannage pour des solutions rapides.

Vous venez d'apprendre à déployer du code Ruby en production avec Stackhero, grâce à un processus à la fois simple et performant.

Pour aller plus loin, la documentation Usages avancés du déploiement aborde des sujets comme le déploiement de différentes branches git, de tags ou de commits spécifiques, ainsi que la gestion de plusieurs environnements comme le staging et la production. Vous y trouverez aussi des conseils pour travailler avec les variables d'environnement et bien plus encore.

Et n'oubliez pas, si vous rencontrez des problèmes lors du déploiement, la documentation Dépannage est une excellente ressource pour vous aider à les résoudre efficacement et garder un workflow fluide.