nirasan's tech blog

趣味や仕事の覚え書きです。Linux, Perl, PHP, Ruby, Javascript, Android, Cocos2d-x, Unity などに興味があります。

Ubuntu で Rails アプリを Heroku にデプロイする手順メモ

前提条件

% git --version
git version 1.7.5.4
% ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]
% rails -v
Rails 3.2.5

heroku の登録

http://www.heroku.com/ の「Sign Up」から登録

heroku のコマンドラインクライアントのインストール

https://toolbelt.heroku.com/ にある通り

% wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | sh

を実行

heroku にログイン

% heroku login

heroku で動かす rails アプリの作成

% rails new heroku_example
% cd heroku_example

依存パッケージの調整

heroku ではDBにPostgreSQLを利用するので、本番環境での依存パッケージに pg を追加する

% vi Gemfile
### 変更前
# gem 'sqlite3'
### 変更後
group :production do
  gem 'pg'
end
group :development, :test do
  gem 'sqlite3'
end
% bundle install

gitでコミット

% git init 
% git add .
% git commit -m 'init'

heroku アプリケーションの作成

rails アプリのディレクトリで heroku アプリケーションの作成を行う

% heroku create

heroku にデプロイする

heroku アプリケーションの作成時に「heroku」と言う名前のリモートリポジトリが作成されているので、ここに git push することでデプロイができる

% git push heroku master

実行すると自動で bundle install など初期化処理が走り、最後に公開URLが表示されるので、ウェブブラウザで表示して確認する

DBと連携させる

scaffold で登録更新処理を追加してDBとの連携を確認する

users の作成と動作確認
% rails g scaffold user name:string age:integer
% rake db:migrate
% rails s

http://localhost:3000/users/ でローカルの動作確認

heroku へのデプロイ
% git add .
% git commit -m 'add users'
% git push heroku master
heroku のDB作成
% heroku rake db:migrate
動作確認

http://"herokuの公開URL"/users/ で動作確認