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 offre une méthode puissante et intuitive pour déployer vos projets Ruby en production en seulement quelques minutes.

Les principales fonctionnalités incluent :

  • Déploiement avec une simple commande git push.
  • Domaine personnalisable avec gestion automatique des certificats TLS (HTTPS).
  • Exécution sur une VM dédiée et privée pour une sécurité et une confidentialité maximales.
  • Support de HTTP/2, TLS 1.3 (HTTPS), WebSockets, compression GZIP & Brotli, ETag, accès aux ports TCP et UDP, et bien plus.

Pour déployer vos projets sur Stackhero, la seule exigence est d'avoir Git installé sur votre ordinateur.

Pour gagner du temps et éviter une configuration complexe, surtout si votre environnement de développement n'est pas prêt, envisagez d'utiliser Code-Hero de Stackhero.

Code-Hero est une plateforme de développement puissante, intuitive et 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 pour le développement, préinstallés et préconfigurés, vous permettant de commencer à coder instantanément sans tracas.

<!-- ![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. Suivez ces étapes, chacune étant détaillée dans ce guide :

  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 problèmes lors du déploiement, la documentation "Dépannage" est susceptible de fournir une solution. Consultez ce guide pour gagner du temps et éviter des frustrations inutiles.

Si vous n'avez pas encore démarré un service Stackhero for Ruby, vous pouvez en créer un depuis votre tableau de bord Stackhero. Cela ne prend que 2 minutes.

Une fois votre service Ruby démarré, vous devez le configurer en ajoutant votre clé publique SSH. Vous pouvez localiser votre clé publique en exécutant la commande :

cat ~/.ssh/id_*.pub

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

Vous pouvez les créer en utilisant :

ssh-keygen -t ed25519

Pour configurer votre service Ruby, accédez au tableau de bord Stackhero, sélectionnez votre service Ruby, cliquez sur le bouton "Configurer" et collez le contenu de 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 pouvez définir votre clé publique SSH globalement pour que les futurs services l'incluent automatiquement dans leur configuration.

Pour ce faire, accédez au tableau de bord Stackhero, cliquez sur votre photo de profil en haut à droite, sélectionnez "Votre profil" et ajoutez votre clé publique SSH.

Le déploiement sur Stackhero se fait via la CLI Git avec la commande git push. Cette approche rend les déploiements simples, rapides et fiables sans nécessiter d'outils supplémentaires sur votre ordinateur.

Pour activer cette fonctionnalité, copiez et collez la valeur de la commande git remote depuis la page principale de votre service dans le tableau de bord Stackhero. La commande 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 déployer votre code sur Stackhero, vous devez spécifier les commandes pour votre application en créant un Makefile. Ce fichier agit comme un pont entre Stackhero et votre application.

Si vous n'êtes pas familier avec les Makefiles et la commande make, ne vous inquiétez pas. Les instructions ci-dessous vous guideront tout au long du processus.

Créez un Makefile à la racine de votre projet et ajoutez le contenu suivant :

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

Ce Makefile contient trois composants importants :

  1. La règle run, qui est obligatoire car elle est automatiquement exécutée par Stackhero. Ne la renommez pas car elle sert de point d'entrée pour votre déploiement.
  2. Les commandes exécutées avec rake et bundle. Vous pouvez les remplacer par les commandes appropriées pour votre application si nécessaire.
  3. Chaque commande doit être précédée d'un caractère tabulation plutôt que d'espaces. Si vous voyez une erreur comme "*** missing separator", vérifiez qu'un caractère tabulation est utilisé.

Dans cet exemple, trois commandes sont exécutées lors du déploiement :

  1. Les assets tels que JavaScript et CSS sont précompilés dans le répertoire public/assets.
  2. Les migrations de base de données sont exécutées si nécessaire.
  3. Un serveur Puma démarre pour servir votre application.

Vous êtes maintenant prêt à déployer votre application Ruby ! Pour déployer votre code sur Stackhero, exécutez la commande suivante :

git push stackhero main

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

Après quelques secondes, 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) -->

Pour vérifier votre application déployée, accédez à l'URL du site fournie sur le tableau de bord Stackhero. Elle ressemble généralement à https://XXXXX.stackhero-network.com.

Félicitations, votre application est maintenant déployée en production !

Vous rencontrez des problèmes lors du déploiement ?

Consultez la section Dépannage, où vous trouverez probablement une solution !

Ce guide a fourni une vue d'ensemble complète et simple sur la manière de déployer du code Ruby en production avec Stackhero. Il constitue une base solide pour gérer efficacement vos déploiements d'applications.

Pour approfondir vos connaissances, envisagez d'explorer la documentation "Usages avancés du déploiement". Vous y apprendrez comment déployer diverses branches git, des tags ou commits spécifiques, et gérer plusieurs environnements tels que le staging et la production. Vous découvrirez également des astuces pour travailler avec des variables d'environnement et bien plus.

Si vous rencontrez un problème lors du processus de déploiement, la documentation "Dépannage" est une ressource précieuse qui peut vous aider à résoudre les problèmes efficacement et à minimiser les frustrations.