一分一秒真剣勝負!

Ruby, Railsなど。Web系の技術ネタを充実させたい・・が、そうなるかは分からない。

HerokuでRails3.1+sqlite3アプリをデプロイする!

 GitのリポジトリをpushするだけでデプロイまでしてくれるHerokuでRialsアプリをデプロイしてみました!友人の居酒屋サイトを作成中なんですが、凄い便利ですねHeroku。以下はherokuを使う時のまとめ。ちなみにRails3.1でデプロイしたものの、実装はほぼ3.0.9のままで、DBはsqlite3です。

アカウント作成

以下のURLから新規登録する。
http://api.heroku.com/signup

事前準備

$ gem install heroku # heroku利用時に必要なgem
$ heroku keys:add # username/passを保存しておく

Gemfile

 このエントリーを書いている時点では、この問題がある為、以下のgemを入れておかないとpushできないですね。

group :production do
  gem 'therubyracer-heroku', '0.8.1.pre3' # you will need this too
  gem 'pg'
end

Railsアプリ作成

$ rails new hoge
$ git init
$ git add .
$ git commit -m 'first commit'

herokuにアプリを作成・デプロイ

$ heroku create # heroku上でアプリケーションを作成するコマンド
# https://api.heroku.com/loginでherokuにログインし、アプリケーションの名前を変更する

$ vi .git/config # リポジトリ名をブラウザで変更した名前に修正する
[remote "heroku"]
url = git@heroku.com:変更したアプリ名.git
# これをやっておかないとリポジトリが見つからずにpushできなくなる

$ git push heroku master # herokuにリポジトリをpushし、デプロイも実行
$ heroku open # ブラウザが起動し、サイトを表示する

その他よく使うコマンド

dbのmigrate
$ heroku rake db:migrate # heroku上でmigrate
dbのダウンロード
$ heroku db:pull sqlite://保存先のパス/保存したいファイル名
# 例
$ heroku db:pull sqlite://db/production.sqlite3
dbのアップロード
$ heroku db:push sqlite://パス/アップロードするファイル名
# 例
$ heroku db:push sqlite://db/production.sqlite3

 このコマンド実行時にアプリ名を入力する必要があります。省略する為のオプションもあるのですが僕は使ってません。

参考

HerokuでDBのデータをダウンロードしたりアップロードしたり - アインシュタインの電話番号☎

 とりあえず基本的なコマンドはこんな感じ。無料プランだとDBが5Mまでと少なすぎですが、簡単なアプリを作るには十分ですね。