HerokuにRailsアプリをデプロイ

HerokuにRailsアプリをデプロイする手順。
Railsアプリは3.1.3、ruby 1.9.2

■各種gemのインストール
・heroku
herokuアプリを操作するherokuコマンドを利用するため必要

・pg
HerokuはデータベースがPostgreSQLなので必要。
database.ymlの設定は無視され、問答無用でPostgreを利用することになるようだ。
インストールされていないと、以下のようなエラーが出る。
/app/.bundle/gems/ruby/1.9.1/gems/activerecord-3.1.3/lib/active_record/connection_adapters/abstract/connection_specification.rb:71:in `rescue in establish_connection': Please install the postgresql adapter: `gem install activerecord-postgresql-adapter` (pg is not part of the bundle. Add it to Gemfile.) (RuntimeError)

・therubyracer-heroku
以下のようなエラーが出た場合はインストール。heroku createの際に--stack cedarオプションをつければ、出ないらしい(未確認)。
/app/.bundle/gems/ruby/1.9.1/gems/execjs-1.2.12/lib/execjs/runtimes.rb:47:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)

ちなみに、Macの場合のみインストールする
gem 'rb-fsevent', :require => false if RUBY_PLATFORM =~ /darwin/i
のようにifがあるとdevelopment,test グループであっても以下のようなエラーになるのでコメントするか削除しておく。
You have modified your Gemfile in development but did not check
the resulting snapshot (Gemfile.lock) into version control
You have deleted from the Gemfile:* rb-fsevent

■Gemfile
最小限だとこんな感じに
group :development, :test do
    gem 'heroku'
end

group :production do
    gem "pg"
end

■gemをインストール
bundle instal

■herokuアプリを作成
heroku create アプリ名 --stack cedar
その後Heroku登録時のメールアドレス、パスワードを入力
※アプリ名を付けない場合は適当な名前になる。
これで、https://api.heroku.com/myapps/にアプリが作成される。
remoteには自動でherokuが追加される。

■デプロイ
masterブランチをpush、マイグレーションしてopenするとブラウザが起動してアプリを表示してくれる。
git push heroku master
heroku rake db:migrate
heroku open
タグ:heroku Rails
posted by digital-squad at 2012年03月22日 21時56分 | Comment(0) | TrackBack(0) | Ruby on Rails / Ruby
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/259446726
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック