手順紹介
1.リポジトリの作成
railsアプリケーションのルート・ディレクトリで以下のコマンドを打つ。
$ git init
2.管理対象に含めたくないファイルを.gitignoreで除外
Gitはすべてのファイルの変更履歴を管理するが、管理対象に含めたくないRailsのログファイルなどは管理対象から除外する必要がある。
ルート・ディレクトリにある.gitignoreの中身を以下のように変更
# Ignore bundler config.
/.bundle
# Ignore the default SQLite database.
/db/*.sqlite3
/db/*.sqlite3-journal
# Ignore all logfiles and tempfiles.
/log/*.log
/tmp
# Ignore other unneeded files.
doc/
*.swp
*~
.project
.DS_Store
.idea
.secret
3.railsをGitに追加、コミット
ルート・ディレクトリで以下のコマンドを実行
$git add .
ここで「.」はカレントディレクトリを示す。
これで、カレントディレクトリ以下の全てのファイルをステージングエリアに追加できる。git status
コマンドを利用すれば、現在ステージングエリアに居るファイルを知ることができる。
変更を保存(commit)する場合は、commit
コマンドを利用する。
$ git commit -m "Initialize repository"
-m
フラグは、コミットメッセージをその場で追加する場合に使用する。
4.githubにリモートリポジトリを作成、ローカルのリポジトリをプッシュ
ここまでで、gitを利用したローカルリポジトリの作成は終わりました。続いて、リモートリポジトリの作成と、そこへのpush
を行います。
railsのルート・ディレクトリから以下のコマンドを実行することで、リモートリポジトリを追加することができます。
$ git remote add origin https://github.com/<githubのusername>/first_app.git
続いて以下のコマンドで、railsアプリケーションのローカルリポジトリを、先ほど作ったリモートリポジトリに同期(push)します。
$ git push -u origin master
※このコマンドが上手くいかない場合は、githubのページから手動でリモートリポジトリを作成しましょう。
5.herokuにデプロイする
railsアプリケーションのGemfileに、下記を追記します。
group :production do
gem 'pg', '0.15.1'
gem 'rails_12factor', '0.0.2'
end
これは、herokuで利用するデータベースpostgre
を利用するためです。
rails_12factor
は、herokuにおいて画像やスタイルシートなどの静的なアセットを利用するために使用します。
続いて、以下のコマンドを実行してgemfile.lockを更新し、pg
とrails_12factor
の情報を追記しておきます。
$ bundle install --without production
そして、それをコミットしておきます。
git commit -a -m "Update Gemfile.lock for Heroku"
続いて、下記のサイトからherokuのアカウントを登録してください。
登録が済んだら、続いて以下のサイトからheroku toolbelt
というアプリケーションをダウンロードし、インストールしてください。こちらは、コマンドラインからherokuを利用するために必須のアプリケーションになります。
上記アプリケーションのインストールが済んだら、railsアプリのルート・ディレクトリから以下のコマンドを実行します。
$ heroku login
アドレスとパスワードを要求されるので、登録時のものを入力してください。
その次に以下のコマンドでherokuにアプリケーションを新規作成します。この時点で、暫定的なアプリケーションのURLが生成されます。
$ heroku create
herokuのアプリにローカルリポジトリからpushします。
$ git push heroku master
最後に、下記コマンドでマイグレーションファイルを実行すれば、アプリケーションを見ることができます。
$ heroku run rake db:migrate
※rake db:seedを行いたい場合は、この後heroku run rake db:seed
コマンドを実行します。
※もしもこれで上手くいかなかったら、以下のコマンドを順番に試してください。
$ rake assets:precompile
$ git add .
$ git commit -m "Add precompiled assets for heroku"
$ git push heroku master
これでもエラーが怒る場合は、heroku logs
コマンドでエラーを確認してください。