Ruby on Rails 4 のアプリを Heroku で公開する
Rails 4 が出たということなので Heroku で公開するまでの手順を書いてみます。 環境構築は Mac OS X で行っています。
事前準備
パッケージ管理に Homebrew を使っています。ちょうどいい機会です、アップデートしておきましょう。 brew でインストールしておくといいのは git, rbenv, zsh といった感じでしょうか。
$ brew update # brew を最新にする
$ brew upgrade # インストールしている Formula をアップデート
$ brew doctor # エラーなどのチェック
rbenv で Ruby 2.0.0 をインストールします。
$ rbenv install 2.0.0-p195
$ rbenv global 2.0.0-p195 # 2.0.0 をデフォルトにする
gem をアップデートして Rails 4 をインストールします。
$ gem update --system
$ gem update bundler
$ gem i bundler
$ gem search -r rails # Rails のバージョンが検索できる
$ gem i rails --version 4.0.0.rc1 # 検索コマンドで3系が表示された場合、4系のバージョン指定してインストール
Rails アプリ作成
準備は整ったのでアプリを作ります。
$ rails new rails_app
Gemfile 編集
いくつかポイントを記しておきます。
- Heroku で Rails 4 を使うには
ruby "2.0.0"
の一行が必須です。 - 開発環境、テスト環境、プロダクション環境でそれぞれデータベースを分けています。
- ブラウザをリロードする手間を省くため LiveReload を使っています。アドオンをインストールしておきましょう。
- foreman を使って環境変数をロードしています。
|
|
起動確認
Rails を立ち上げてブラウザから確認します。
$ bundle update
$ bundle install
$ guard init livereload
$ rails s # CTRL+C で終了
GitHub に公開
ここからバージョン管理システムである Git を使って開発していきます。
ついでに GitHub にアップできるようにします。
準備として GitHub サイトで新規レポジトリを作成しておきます。その際 README ファイルは作らなくていいです。
また SSH Key などの登録をし、GitHub にアクセスできるようにしておきます。
そして Git で管理したくない余計なファイルを除くため .gitignore
ファイルを編集します。
|
|
レポジトリを作って GitHub にアップします。
$ git init
$ git add .
$ git commit -m "Initial commit"
$ git remote add origin git@github.com:user-name/rails_app.git
$ git push -u origin master
Heroku を使う準備
まず Heroku のサイトへいって Sign Up します。
Mac OS X 用のツール (Toolbelt) をダウンロード、インストールします。
Heroku 用の SSH key を作成します。GitHub で作った鍵があればそれを使えばいいと思います。
私は別々に分けて作ったのでちょっとトラブルがありました。
デフォルトでは秘密鍵は id_rsa
が読み込まれるようですが、Heroku 用に名前を変えて作ったためオートロードできなかったっぽいです。
よって .ssh/config
を作ることで解決しました。
|
|
Heroku にログインします。
$ heroku login
Email: # メールアドレスを入力します
Password: # パスワードを入力します
ssh-key: # 秘密鍵の場所を指定します
Heroku にアプリを登録
Heroku には本番環境と開発環境を分ける方法があります。 Production 環境には Cedar Stack が使われます。 詳しくは『Heroku Dev Center』を参照してください。
まず heroku のバージョン確認しておきましょう。
$ heroku --version # 2.1.0 以上であればデフォルトで Cedar スタックが使われます
Heroku にアプリを登録します。 app_name を指定すれば http://app_name.herokuapp.com のURLでアクセスできます。 指定しなければ適当な名前で作られますが、独自ドメインで運用するなら気にしなくてもいいでしょう。
$ heroku create app_name
$ bundle install --without production
$ git push heroku master # ここで Gemfile に ruby "2.0.0" の追記がないとエラーで失敗します
$ heroku run rake db:migrate
$ heroku open # ブラウザーが起動し、作成した Rails アプリが開かれます
The page you were looking for doesn’t exist. というメッセージがでますがこれでOKです。
独自ドメインで公開
このままだとアクセスする時の URL が覚えづらいので独自ドメインで運用します。 下記参照ください。
ざっくりですが以上で Heroku に Rails 4 のアプリを公開できると思います。
Author
LastMod 2013-05-28