29
27

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Heroku 開発環境構築から Rails 4 のデプロイまで

Last updated at Posted at 2014-10-13

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
29
27
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
27

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?