Herokuへのデプロイについてまとめてみる
ここのところ、ちょいちょいHerokuにアプリを上げてるにも関わらず、コマンド類がなかなか覚えられないのでざくっとまとめてみる。
前提
- アプリケーションがGitでバージョン管理されている。
Heroku用のgemを入れる
gem install heroku
これでターミナルからherokuコマンドが使えるようになります。
Gemfileの設定
HerokuのデフォルトDBはPostgreSQL*1なので、Postgre用のgemを入れる。
また、そのままだと「SQLite3無理っす!」みたいな感じで怒られるので、本番環境にはSQLite用のgemを入れないようにする。
gem "pg", group: :production gem "sqlite3", group: :development
その後、忘れずにbundle installして、git commit。
Heroku上にアプリケーションを作成する
heroku apps:create
デフォルトではランダムなアプリケーション名が与えられるので、任意の名前に変更します。*2
heroku apps:rename your_app_name
2013-04-30追記
上の2つのコメントですが、次のコマンド一発でいけます。
heroku apps:create your_app_name
さあ、デプロイ!
ここが一番簡単。
git push heroku master
git pushするだけでデプロイ出来るなんてHerokuさんステキ! 抱いて!!
その他
Heroku環境でのコマンド実行
rakeコマンドなどをHerokuの環境で行うためには、heroku runコマンドを使用します。
たとえば、データベースの変更を伴うデプロイを行った場合のマイグレーション用コマンドは以下の通り。
heroku run rake db:migrate
メンテナンスモード
Herokuでは「メンテナンス中」みたいなページをコマンドひとつで出すことが出来ます。
heroku maintenance:on
緊急メンテナンスでユーザのアプリケーション利用を止めたい場合やデプロイ時にデータの不整合を起こしたくない場合などに利用できます。
ちなみに、メンテナンスモードからの脱出は次の通り。
heroku maintenance:off