Ruby: Déployer en production

Déployez du code Ruby en production en quelques minutes avec Stackhero

👋 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 profitez de la configuration automatique des certificats HTTPS pour une sécurité renforcée.
  • Bénéficiez de la sauvegarde automatique, des mises à jour en un clic, ainsi que d'une tarification simple, transparente et prévisible.
  • Profitez d'une performance optimale et d'une sécurité renforcée grâce à une infrastructure privée et dédiée.

Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution d'hébergement Ruby cloud de Stackhero !

Le service d'hébergement cloud Ruby de Stackhero facilite la mise en ligne de vos projets Ruby en seulement quelques minutes. Vous bénéficiez d'une plateforme robuste conçue pour simplifier le déploiement et vous permettre de vous concentrer sur votre application, pas sur l'infrastructure.

Voici ce que vous obtenez :

  • 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 infrastructure dédiée et isolée pour une sécurité et une confidentialité renforcées.
  • Profitez de HTTP/2, TLS 1.3 (HTTPS), WebSockets, compression GZIP et Brotli, support ETag, accès aux ports TCP et UDP, et bien plus encore.

Il suffit d'avoir Git installé sur votre ordinateur pour commencer.

Si vous souhaitez gagner du temps ou préférez éviter la configuration d'un environnement local, vous pouvez découvrir Code-Hero de Stackhero.

Code-Hero est un environnement de développement accessible depuis le navigateur, compatible avec tous les appareils. Basé sur un fork de VSCode, il intègre les outils essentiels déjà installés et configurés, pour que vous puissiez coder immédiatement 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 simple. Voici le déroulement, chaque étape est détaillée ci-dessous :

  1. Créez un service Ruby sur Stackhero.
  2. Ajoutez votre clé publique SSH à 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 permet de trouver rapidement des solutions et de continuer sans interruption.

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 en ligne, l'étape suivante consiste à ajouter votre clé publique SSH. Pour afficher votre clé publique, exécutez :

cat ~/.ssh/id_*.pub

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

Vous pouvez en générer une 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 : pour gagner du temps par la suite, vous pouvez ajouter votre clé publique SSH à votre profil Stackhero. Les nouveaux services que vous créerez l'incluront automatiquement.

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

Le déploiement sur Stackhero utilise le CLI Git et la commande git push, il n'est donc pas nécessaire d'installer d'autres outils.

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 à :

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, ajoutez un fichier Makefile à la racine de votre projet. Ce fichier définit les commandes que Stackhero utilisera lors du déploiement.

Si vous découvrez les Makefiles ou la commande make, les étapes ci-dessous vous guideront pour créer un Makefile fonctionnel.

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

Ce que fait ce Makefile :

  1. La règle run est obligatoire. Stackhero recherche cette règle comme point d'entrée lors du déploiement. Gardez ce nom de règle.
  2. L'exemple utilise rake et bundle, mais vous pouvez adapter ces commandes selon votre application.
  3. Chaque ligne de commande doit commencer par une tabulation, pas des espaces. Si vous voyez une erreur *** missing separator, vérifiez la présence des tabulations.

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.
  3. Lancer le serveur Puma pour servir votre application.

Vous êtes prêt à déployer. Utilisez :

git push stackhero main

Lors du premier déploiement, Git vous demandera de confirmer l'empreinte de la clé SSH. Saisissez "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) -->

Accédez à votre application déployée à l'adresse indiquée sur votre tableau de bord Stackhero. L'adresse ressemblera à https://<XXXXXX>.stackhero-network.com.

Votre application est maintenant en production.

Si vous rencontrez des difficultés lors du déploiement, la section Dépannage couvre les problèmes courants et leurs solutions.

Vous avez découvert comment déployer du code Ruby en production avec Stackhero, grâce à un processus à la fois puissant et simple.

Pour aller plus loin, par exemple déployer différentes branches Git, tags ou commits, ou gérer plusieurs environnements comme le staging et la production, consultez la documentation Usages avancés du déploiement. Vous y trouverez aussi des conseils pour l'utilisation des variables d'environnement et d'autres fonctionnalités utiles.

Si vous avez des questions ou des difficultés, la documentation Dépannage est toujours disponible pour vous aider à garder un workflow de déploiement fluide et efficace.