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
Ruby on Railsのアプリ作成
rails new コマンドでRailsアプリを作成後、rails s コマンドでWEBrickというシンプルなHTTPサーバを起動して、http://localhost:3000/ にアクセスしてブラウザで確認します。
rails new myapp -T cd myapp rails s |
Gitのリポジトリ作成・コミット
Git リポジトリを作成して、最初のコミットをします。
git init git add -A git commit -m "create new app" |
Gemfile の編集, Gem のインストール
必要な 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アプリの作成・デプロイ
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 |
Webサーバーを WEBrick から thin に変更する
こちらを参考にして、Heroku 上のWEBサーバーを WEBrick から thin に変更します。
・[Heroku] WebServer を WEBrick から thin に変更する方法 – [Rails 3.x on Heroku/Cedar] | CodeNote.net
PostgreSQL データベースの初期設定
shared database ではなく、heroku-postgresql:dev を使うように設定します。
・[Heroku] heroku-postgresql:dev の設定方法 | CodeNote.net
heroku はデプロイ時に database.yml を自動生成するそうなので、database.yml の設定は特に必要ないみたいです。
Railsのアプリを作成していく
デフォルトルートの静的ファイル index.html を削除する
git rm public/index.html |
DB 作成
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 |
コントローラー(Controller)クラスの作成
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コマンドたち
ログを垂れ流しで確認する
heroku logs --tail |
Heroku上で Railsコンソールを起動する
heroku run console |
とりあえず、以上です。(随時更新予定)