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のアカウントを取得

Heroku

https://www.heroku.com/

から登録できます

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/

にアクセスすると動作が確認できます