heroku の設定ツールをセットアップ
参考サイト
Getting Started with Rails 4.x on Heroku
設定ツールをインストール
Heroku Toolbelt
インストール後、heroku
コマンドを使えるようになる。
heroku アカウントで使用するための sha 鍵を作成
$ ssh-keygen
# 任意のユニークな鍵名を入力
# パスは ~/.ssh/ に設定する
heroku のログイン情報をコマンドラインツールに登録
$ heroku login
Enter your Heroku credentials.
Email: # id(メールアドレス)を入力
Password: # パスワードを入力
# ~/.ssh/ に入っている公開鍵一覧が表示されるので
# 先ほど作成したペアの番号を選ぶ
複数マシンで開発する際は、これをマシンごとにやる。
ただし、ひとつの heroku アカウントに複数の公開鍵を設定することはできるが、
ひとつの公開鍵を複数の heroku アカウントで使いまわすことはできないので注意。
公開鍵を削除したい場合
一旦削除してから別のものを追加し直す。
$ heroku keys # 登録されているキーの一覧
$ heroku keys:remove adam@workstation.local
$ heroku keys:add path/to/new/pubkey
ssh 接続設定を追加
ssh 接続設定ファイルに heroku へのログイン情報を追記する。
複数のアカウントを使いまわしていて同じ設定がある場合は、一旦コメントアウトしておくこと。
さもないと次の heroku create をする際に問題が発生する。
$ vim ~/.ssh/config # なければ作る
ssh 接続設定を追記する。
Host heroku.com
Hostname heroku.com
IdentityFile path_to_key_file
TCPKeepAlive yes
IdentitiesOnly yes
Port 22
heroku サーバにアプリの作成
heroku アプリを作成
初めの一度のみの操作。
必ず Rails アプリのリポジトリに cd してから実行する。
Rails アプリの config もいじる必要があるが、ここでは割愛。
$ cd path/to/rails4/app
$ heroku create <heroku 全体でユニークな名前> # 名前を空白にすると自動で付けられる
Creating serene-crag-3916... done, stack is cedar
http://serene-crag-3916.herokuapp.com/ | git@heroku.com:serene-crag-3916.git
Git remote heroku added
これで、git リポジトリの remote に heroku が追加される。
他のマシンから同じ設定をする場合
以下のコマンドで、カレントディレクトリの git リポジトリの remote に heroku が追加される。
heroku git:remote --app APPNAME
heroku に Rails アプリをデプロイする
アプリを heroku サーバにプッシュ
heroku は master ブランチにある内容をデプロイする。
開発途中のブランチをデプロイしたい場合は、ブランチネームの後に :master
を付けてプッシュすればよい。
git push heroku BRANCHNAME:master
これで bundle install や asset:precompile 等が自動で行われる。
データベースをマイグレート
$ heroku run rake db:migrate