Nitrous.ioでRuby on RailsをHerokuへ
概要
Nitrous.ioを使ってRuby on RailsのWebアプリを作成しHerokuでデプロイするまでの手順
基本的には
http://www.slideshare.net/schoowebcampus/web-30202711
の内容を書き起こしただけ
Nitrous.ioというのはWeb IDEです
これを利用することでブラウザだけでアプリのデプロイまでできます
対象はRailsをすこし触ったことある人くらいを想定してます
手順
1.Nitrous.io,Herokuのアカウントを取得
2.Nitrous.ioでBoxの作成
BoxesのNew Boxボタンを押すと
フレームワークの選択画面になるのでRuby on Railsを選択して進みます
他の項目は友達招待とかツイートとかしないと
メモリとかストレージとか増やせないのでとりあえずデフォルトでOK
Boxを作ったらまずはGitの準備
IDEの下にあるコンソールで
git config --global user.email "Herokuに登録したメールアドレス" git config --global user.name "なんでもOK(半角英数と_など)"
また,あとでHerokuにアプリを送るために
heroku login
メールアドレスとパスワードがきかれるので入力します
heroku keys:add ~/.ssh/id_rsa.pub
でSSHの公開鍵を登録しておいてください
またRails 4の場合は,
rake rails:update:bin
というコマンドを打っておく必要があります
(rails newした後かも)
3.アプリの作成
普通にRailsをつくるときと同じです
rails new <アプリ名>
で作成
cd <アプリ名>
でアプリのディレクトリに移動し
rails s
するとおなじみのトップページが表示されます
ちなみにプレビューはNitrous.ioのIDEの上にあるPreviewボタンから見れます
(デフォルトではportは3000)
このままHerokuに送ってしまいたいところですが
Herokuではこのindex.htmlは表示されないようになっているらしいので
適当にテーブルを作ってみます
rails g scaffold <テーブル名> <項目名>:<項目の型> rake db:migrate
さらにトップにこのテーブルのページが来るように
appname/config/routes.rbに
root ’テーブル名+s’
を追記しておきます
また,Herokuでは標準で使用されるデータベースが
SQLiteでなくPostgreSQLであるという関係上
Gemfileの
gem ’sqlite3’
を
ruby '2.0.0' group :development, :test do gem 'sqlite3' end group :production do gem 'pg' gem 'rails_12factor' end
のように編集します
rubyのバージョンについてもHerokuでは記述しておく必要があります
bundle
を忘れずに実行しておきましょう
4.Herokuでデプロイ
HerokuへはGitのプッシュで送ります
手順4まで終わったら
git init
でGitの初期化を行います
そして
git add . git commit -m "first commit"
で変更をコミット
(今後変更がある度にaddとcommitをします)
heroku create <アプリ名>
としてHeroku上にアプリを登録します
(このときまでにNitrous.ioを開きなおしていたら再度Herokuにログインしてください)
ここでのアプリ名はHeroku上のものなので上と違ってもかまいません
省略すると自動的に名前が付けられます
heroku rename <新しいアプリ名>
で変更も可能
git push heroku master
でHerokuにアプリが送られ
heroku run rake db:migrate
を実行すれば完了です
http://<heroku createしたアプリ名>.herokuapp.com/
にアクセスすると動作が確認できます