勉強がてら手元のMacでRailsアプリを作ってるんだけど、作ったからにはworld wide webへ公開したい。
最初はdotcloudで公開しようとしたんだけど挫折したので、herokuでチャレンジしてみることに。
ところがherokuはpostgreSQLしか(?)使えないので、単純にpushしただけではこちらも動かなかった。
刺身さんの手助けを得ながらherokuで公開することができたので、手順を忘れないようにメモっておく。
ほぼmizzyさんが社内のwikiにまとめてくださってたやつです。
なんかパクってごめんなさい。。。
手元の環境
- OS: Lion
- ruby: 1.9.2p290
- Rails: 3.0.10
Railsアプリのディレクトリ直下にある Gemfile の最後に追記
group :production do
gem 'pg'
end
bundle updateするために必要らしいので、postgresql をインストールする。
homebrewを使ってインストール。5分もかからず終わった。
$ brew install postgresql
終わったら、bundle update を実行
$ bundle update
で、一旦コミット&デプロイする。
最近インストールした GitHub for Macが使いやすいので、こちらでコミット。
herokuへのデプロイはコマンドラインで。
$ git push heroku master
おわったら heroku console というコマンドでデータベースの接続情報を確認
$ heroku console
>> ENV['DATABASE_URL']
=> "postgres://yyyyyyyy:xxxxxxxxxxxxxxxxxxxx@ec2-xxx-xx-xxx-xx.compute-x.amazonaws.com/yyyyyyyy"
>> exit
yyyyyyyy、xxxxxxxxxxxxxxxxxxxxな部分はユーザー毎に違う。
データベースの情報を config/database.yml で設定する。
production:
adapter: pg
database: yyyyyyyy
username: yyyyyyyy
password: xxxxxxxxxxxxxxxxxxxx
host: ec2-xxx-xx-xxx-xx.compute-x.amazonaws.com
host部分もユーザーごとに違うのかもしれないので要確認。
編集した内容をコミット&デプロイする。
コミットはGitHub for Macで。かわいいよ、GitHub for Mac。
デプロイはターミナルで。かわいいよ。ターミナル。
$ git push heroku master
最後に、migrate。
migrateってのが何なのかわかってないけど、データベーススキーマを流し込むということをやってるらしい。
$ heroku rake db:migrate
以上で割り当てられたURLへアクセスすれば、動作するアプリケーションのページが表示された。
刺身さんとmizzyさんに感謝!