Déployez l’application avec Heroku
Créé par Terence Lee, @hone02
Installez Heroku
COACH: Parler des avantages d’Heroku par rapport aux serveurs traditionnels.
Premièrement, inscrivez-vous sur Heroku.
Ensuite, installez la Heroku Toolbelt (boîte à outils pour Heroku) sur votre système.
Si l’installation s’est bien passée, vous devriez avoir accès à la commande heroku
dans votre terminal. Authentifiez-vous avec l’email et le mot de passe de votre compte Heroku en tapant heroku login
:
Enter your Heroku credentials.
Email: adam@example.com
Password:
Could not find an existing public key.
Would you like to generate one? [Yn] Y
Generating new SSH public key.
Uploading ssh public key /Users/adam/.ssh/id_rsa.pub
Un mot sur les clés SSH : elles permettent de vous identifier au serveur de manière plus sécurisée qu’avec un mot de passe, pour transférer les fichiers. Heroku peut en créer une pour vous et l’ajouter dans votre compte. Si vous en avez déjà une, utilisez heroku keys:add
.
traduit d'après le quickstart guide d'Heroku. (en)
Préparez l’application
Mettez à jour la base de données
Tout d’abord, changez le type de base de données pour celle utilisée sur Heroku. Remplacez les lignes suivantes dans le Gemfile :
gem 'sqlite3'
par
group :development do
gem 'sqlite3'
end
group :production do
gem 'pg'
end
Lancez bundle install --without production
pour re-configurer les dépendances.
COACH: vous pouvez introduire les concepts des bases de données et leurs différences ainsi que les concepts d’environnements de développement.
Système de contrôle de versions
Vous devez versionner votre code grâce à un système de contrôle de versions. Vous pouvez le faire en exécutant ces commandes dans le terminal :
git init
git add .
git commit -m "initial commit"
COACH: expliquez un peu git et les systèmes de gestion de version.
Déployez votre application
Création de l’app
Vous devez créer l’app Heroku en tapant heroku create
dans le terminal et vous devriez voir le texte suivant s’afficher :
Creating evening-sky-7498... done, stack is cedar
http://evening-sky-7498.herokuapp.com/ | git@heroku.com:evening-sky-7498.git
Git remote heroku added
Dans ce cas “evening-sky-7498” est le nom de votre app.
Pusher le code
Ensuite, vous devez pusher le code sur Heroku en tapant git push heroku master
. Vous devriez voir le texte suivant s’afficher :
Counting objects: 134, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (115/115), done.
Writing objects: 100% (134/134), 35.29 KiB, done.
Total 134 (delta 26), reused 0 (delta 0)
-----> Heroku receiving push
-----> Ruby/Rails app detected
-----> Installing dependencies using Bundler version 1.1.2
Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment
Fetching gem metadata from https://rubygems.org/.......
...
-----> Launching... done, v4
http://evening-sky-7498.herokuapp.com deployed to Heroku
Vous saurez que l’application a été pushé lorsque vous verez le texte “Launching…” comme ci-dessus.
Migration de la base de données
Enfin, vous devez migrer la base de données sur le serveur, comme vous l’avez fait précédement en local :
heroku run rake db:migrate
Quand cette commande a fini de s’exécuter, vous pouvez voir votre application en ligne. Dans cet exemple, vous pouvez aller sur http://evening-sky-7498.herokuapp.com/. Vous pouvez aussi taper heroku open
dans le terminal pour ouvrir directement la page.