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`という
メッセージが出てきてしまいます。
コマンドが変わったようです。。。