Heroku
Heroku est un hébergeur Ruby on Rails dans le cloud en mode PAAS (Platform As A Service). C'est de très loin la façon la plus simple pour déployer et héberger des applications Ruby on Rails. L'hébergement est gratuit pour les sites à faible trafic, y compris pour la base de données et de nombreux addons, mais est également très scalable.Fonctionnement
La publication de votre application sur la plateforme Heroku se fait via git.Heroku propose une api très complète de gestion de votre application, utilisable en ligne de comande :
- Consultation des logs
- Gestion des utilsateurs
- Tâches Rake
- MongoDB via MongoHQ : Gratuit jusqu'à 16Mo
- CouchDB via Cloudant : Gratuit jusqu'à 250Mo.
- Redis via Redis To Go : Gratuit jusqu'à 5Mo, sans persistance.
- Solr : payant, à partir de 20$.
- ...
Installation de la gem Heroku
Ensuite, pour pouvoir utiliser Heroku dans votre application Rails, ajoutez la gem à votre fichier Gemfile :source 'http://rubygems.org' gem 'rails', '3.0.3' gem "heroku"
Utilisation
Mise en place de Git
Heroku nécessitant git, la première chose à faire est de versionner votre application :$ git init Initialized empty Git repository in .git/ $ git add . $ git commit -m "new app" Created initial commit 5df2d09: new app
Evidemment, Heroku va avoir besoin de notre clef publique pour pouvoir accepter les push, il faut donc les générer si ce n'est pas déjà fait, sinon simplement les ajouter :
$ ssh-keygen -t rsa Generating public/private rsa key pair. $ heroku keys:add Uploading ssh public key /home/joe/.ssh/id_rsa.pub
Déploiement de l'application
Ensuite, il faut créer l'application Heroku sur la plateforme, via l'api en ligne de commande :$ heroku create appname Enter your Heroku credentials. Email: joe@doe.com Password: Uploading ssh public key /home/joe/.ssh/id_rsa.pub Created http://appname.heroku.com/ | git@heroku.com:appname.git Git remote heroku added
Une application appname vierge nous attend donc chez Heroku, il suffit de pousser notre application avec git pour la voir en ligne immédiatement :
$ git push heroku master Counting objects: 65, done. Compressing objects: 100% (58/58), done. Writing objects: 100% (65/65), 80.54 KiB, done. Total 65 (delta 14), reused 0 (delta 0) ----- Heroku receiving push ----- Rails app detected Compiled slug size is 0.1MB ----- Launching....... done App deployed to Heroku To git@heroku.com:appname.git 3b3ed7c..350b521 master -> master
Si notre application utilise une base de données, il est possible de la bootstrapper directement :
$ heroku rake db:migrate $ heroku rake db:seed
Mise à jour
Lors des prochaines mise à jour de notre application, tout ce que nous aurons à faire est :$ git push heroku master
Bonjour, merci pour le tutoriel
RépondreSupprimerj'ai un probléme, tout marche trés bien jusqu'à l'étape de mise à jour.
je tape la commande:
git push heroku master
-->Everything up-to-date
sauf que lorsque je fais un : heroku open
le navigateur ouvre la derniére version de l'application sans tenir compte des modifications.
Si vous avez une idée, veuillez me répondre
merci d'avance et bonne journée à vous
Bonjour,
RépondreSupprimerIl faut d'abord s'assurer d'avoir commiter les modifications : [$ git commit -a -m "my message"] (voir un [$ git add .] avant si il y a des nouveaux fichiers)
Bonjour, quelqu'un aurait déjà fais l'expérience de prendre un hébergement payant chez heroku ? Si oui comment estimer les besoins initiaux en workers/dynos ? ^^
RépondreSupprimerBonjour, notre société propose un service d'hébergement très abordable, et très inspiré d'Heroku.
RépondreSupprimerVous trouverez de plus amples informations sur cette page : http://www.ouvrages-web.fr/presentation-hebergement-ruby-on-rails , ou bien en nous contactant.