ソースコードから理解する技術-UnderSourceCode

手を動かす(プログラムを組む)ことで技術を理解するブログ

Ruby on Rails - herokuへのデプロイ

Ruby on Railsで作成したアプリをherokuへデプロイする手順についてです。

手順については既に多数のサイトで紹介されていますが
・gitをcommit後、プログラムを修正して再度デプロイする手順
・データベースを使う場合のデプロイ手順
などを知るのに多少時間が掛かったので、備忘録として残しておきます。

1.sqlite3からpostgressへ
Railsはデフォルトの開発環境ではsqlite3をデータベースとして使用しますが
herokuはpostgressを使用しています。

そのため、Gemfileを以下のように修正して
本番環境(つまりheroku)ではpostgress、開発環境ではsqlite3に接続するようにします。

# gem 'sqlite3'
group :production do
gem 'pg'
end
group :development, :test do
gem 'sqlite3'
end


2.herokuへのデプロイ
以下のコマンドを実行し、git経由でherokuにデプロイします。

$ bundle install
$ git init
$ git add -A
$ git commit -m "メッセージ"
$ heroku create アプリ名
$ git push heroku master

また、プログラムを修正して再度herokuへデプロイするには
以下のコマンドになります。

$ git add . (ピリオドに注意)
$ git commit -m "メッセージ"
$ git push heroku master


3.DBのmigrate
以下のコマンドでmigrateを行い、herokuでデータベースが使用できるようにします。

$ heroku run rake db:migrate

※以前は「heroku rake db:migrate」というコマンドだったようですが
現時点(12/08/25)では For Cedar apps, use: `heroku run rake db:migrate`という
メッセージが出てきてしまいます。
コマンドが変わったようです。。。