開発のわだち(6):herokuでデプロイ
「herokuでデプロイ」
目標:herokuでアプリをデプロイする
目次:
1.herokuコマンドを使えるようにする
2.herokuでオンライン上にデプロイする
1.herokuコマンドを使えるようにする
rails tutorialで勉強したことのあるherokuをvagrant環境に導入します。 まずは、ここからheroku-toolbeltをインストールするコマンドをコピー。 (僕はSTANDALONEから行きました。参考にさせて頂いたサイトはここです。)
$ sudo yum install wget # まずは"wget"コマンドを入手 $ sudo wget -O- https://toolbelt.heroku.com/install.sh | sh # コピーしてきたコマンドを実行 $echo 'PATH="/usr/local/heroku/bin:$PATH"' >> ~/.bash_profile # herokuコマンドのパスを通す(環境に合わせて~/.bash_profileとした) $ source ~/.bash_profile # 書き足したスクリプトを実行 $ heroku version # バージョン確認
以上でherokuコマンドが使えるようになりました。
2.herokuでオンライン上にデプロイする
railsのアプリをherokuで運用する場合、production環境にpgとrails_12factorのgemを入れる必要があるので、以下の通りgemファイルを修正します。
二つのgemを指定している理由はherokuのrails4.x向けチュートリアルにあります。
Gemfile
source 'https://rubygems.org' ...中略 group :production do gem 'pg' gem 'rails_12factor' end
Gemfileを変更したのでGemfile.lockを更新します。
$ bundle update # Gemfile.lockを更新。もしエラーが出たら先に"bundle install --without production"してproduction環境を分けちゃう。 $ bundle install --without production # productionグループに設定したgemはdevelop環境にはインストールしないという意味のオプション
herokuにデプロイするのはgitにcommitされたバージョンなので必ずコミットします。 (自分はコミットし忘れて結構ハマりました。。。)
$ git checkout master $ git add -A # "git add ."と"git add -u"を同時に行い削除も含めた全変更をステージング $ git commit -m "herokuでデプロイ用"
herokuにログインしてsshキーを登録します。 事前にherokuのwebサイトからアカウントを取得しておく必要がありますが、それは割愛。
$ heroku login # アカウント認証が求められるので入力。 $ heroku keys:add # sshキーを登録
herokuにdyno(デプロイ用のコンテナ?)を作成して、masterブランチにコミットされている内容をherokuのdynoにプッシュします。
$ heroku create $ git push heroku master # デプロイ完了! $ git config --list | grep heroku # これでgit config上に登録されたことを確認 $ heroku rename "アプリの名前" # アプリの名前はheroku上でユニークになる必要があります。
以上でデプロイ完了です。herokuはすごい!w
環境
ホストOS: MacOSX 10.11.3
VirtualBox: 5.0.14
Vagrant: 1.7.4
ゲストOS: CentOS 7ゲストOSの環境