Heroku + Ruby on Rails 3.2 で Webアプリ開発するときによく使うコマンドと一連の流れまとめ
Heroku + Ruby on Rails 3.2系で Webアプリ開発するときによく使うコマンドをこの記事だけ読めばほぼ分かるように一連の流れと共にまとめてみました。(最終更新日:2012/06/02)
Ruby, Rails, Heroku などの環境が整っていない場合は、下記を参考に開発環境を整えましょう。
・[Mac] Homebrew をインストール | CodeNote.net
・Mac OS X Lion に RVM で Ruby の開発環境を構築する手順 | CodeNote.net
・[RVM] Ruby on Rails のバージョンを管理する方法 | CodeNote.net
・[Ruby][RVM] gemset global に Heroku をインストールする | CodeNote.net
rails new コマンドでRailsアプリを作成後、rails s コマンドでWEBrickというシンプルなHTTPサーバを起動して、http://localhost:3000/ にアクセスしてブラウザで確認します。
rails new myapp -T
cd myapp
rails s
Git リポジトリを作成して、最初のコミットをします。
git init
git add -A
git commit -m "create new app"
必要な Gem をインストールします。
# webserver
gem 'thin'
group :production do
gem 'pg'
end
group :development, :test do
gem 'sqlite3'
# For TDD
gem 'spork'
gem 'rspec-rails'
gem 'autotest-rails'
gem 'webrat'
gem 'cucumber'
end
Gemfile を編集後、gem の依存関係を整理して再インストールするために bundle install します。
bundle install --without production
heroku create コマンドで heroku にアプリケーションを作成します。
引数に名前を入力すると指定した名前でアプリケーションを登録します。
また、Rails 3.1 からは Cedar スタックでないと動作しないため、—stack cedar オプションを付けて、Herokuアプリケーションを作成する必要があります。
(2012年6月20日からデフォルトで Cedar スタックで作成されるみたいです。)
heroku create myapp --stack cedar
・参考:Heroku | Dev Center | Rails 3.1 on Heroku Cedar
・参考:Heroku | Dev Center | Getting Started with Rails 3.0 on Heroku/Cedar
次に、Gitを使って、作成したアプリの Heroku 側のレポジトリにアプリケーションのソースコードを送信します。
git push heroku master
heroku open コマンドで作成したアプリをブラウザで開いて確認します。
$ heroku open
こちらを参考にして、Heroku 上のWEBサーバーを WEBrick から thin に変更します。
・[Heroku] WebServer を WEBrick から thin に変更する方法 – [Rails 3.x on Heroku/Cedar] | CodeNote.net
shared database ではなく、heroku-postgresql:dev を使うように設定します。
・[Heroku] heroku-postgresql:dev の設定方法 | CodeNote.net
heroku はデプロイ時に database.yml を自動生成するそうなので、database.yml の設定は特に必要ないみたいです。
git rm public/index.html
rails generate model user \\
uid:integer name:string first_name:string middle_name:string last_name:string \\
link:text username:string gender:string locale:string email:string friend_num:integer
git commit -am "create model"
heroku run rake db:migrate --app=myapp-staging
rails g controller users
staging 環境でエラー画面を develop 環境のものと同じ表示に変更します。
config/environments/staging.rb
# Full error reports are disabled and caching is turned on
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
ログを垂れ流しで確認する
heroku logs --tail
Heroku上で Railsコンソールを起動する
heroku run console
とりあえず、以上です。(随時更新予定)