##本記事について
・Railsのアプリをデプロイする人向けの記事です。(他の言語でも可)
・実際にデプロイするときに詰まったことを含めて書きたいと思います。
##前提
・herokuのアカウントを持っている。
・herokuをローカルまたはCloud9等にインストールしている。
・Railsのプロジェクトがある。(完成してなくても良い)
・MySQLを使用している。
##手順
####1.herokuにログイン
$ heroku login
####2.作成したRailsプロジェクトのディレクトリに移動し、herokuにアプリケーションを作成
$ heroku apps:create <アプリの名前>
・この時<アプリの名前>は一意の名前するようにしましょう。
・一意の名前とは世界でたった一つだけの名前のことです。
####3.herokuのリモートリポジトリを確認
$ git remote -v
・上記コマンドを実行すると以下のように出力される。
heroku https://git.heroku.com/<アプリの名前>.git (fetch)
heroku https://git.heroku.com/<アプリの名前>.git (push)
origin git@github.com:shou1012/<アプリの名前>.git (fetch)
origin git@github.com:shou1012/<アプリの名前>.git (push)
####4.リモートリポジトリherokuが作成されてることを確認
$ git remote
heroku
origin
(heroku、またはheroku originが出ていたらOK)
####5.DBをMySQLに変更する
・cleardbのigniteプランにする変更コマンド
$ heroku addons:create cleardb:ignite
*エラー注意*
以下のようなエラーはHerokuアカウントでクレジットカード情報の登録が必要です。
▸ Please verify your account to install this add-on plan (please enter a credit card) For more
▸ information, see https://devcenter.heroku.com/categories/billing Verify now at
▸ https://heroku.com/verify
「Igniteプラン」は無料のためこの設定だけで料金が発生することはないです。
・ClearDBのURL確認
以下のコマンドで、ClearDBのURLが確認できます。
$ heroku config
=== <アプリの名前> Config Vars
CLEARDB_DATABASE_URL: mysql://<ユーザー名>:<パスワード>@<ホスト名>/<データベース名>?reconnect=tru
・環境変数の設定をする。
上記コマンドで表示されたそれぞれの値を変数に設定する。
$ heroku config:add DB_NAME='<データベース名>’
$ heroku config:add DB_USERNAME='<ユーザー名>’
$ heroku config:add DB_PASSWORD='<パスワード>’
$ heroku config:add DB_HOSTNAME='<ホスト名>’
$ heroku config:add DB_PORT=’3306′
$ heroku config:add DATABASE_URL=’mysql2://<ユーザー名>:<パスワード>@<ホスト名>/<データベース名>?reconnect=true’
・設定内容を確認する。
$ heroku config
=== <アプリの名前> Config Vars
CLEARDB_DATABASE_URL: mysql://<ユーザー名>:<パスワード>@<ホスト名>/<データベース名>?reconnect=true
DATABASE_URL: mysql2://<ユーザー名>:<パスワード>@<ホスト名>/<データベース名>?reconnect=true
DB_HOSTNAME: <ホスト名>
DB_NAME: <データベース名>
DB_PASSWORD: <パスワード>DB_PORT:
3306DB_USERNAME: <ユーザー名>
・Railsのプロジェクトのために準備をする
config.assets.compile = true
config.assets.initialize_on_precompile=false
rootへのルーティング作成はHerokuでアプリケーションにアクセスした時に最初に開くページをRails側で設定してくれという意味。
#####6.Herokuへデプロイ
・ローカルリポジトリをherokuへpush
$ git push heroku master
・herokuのDBのmigrate
$ heroku rake db:migrate
・アプリケーションを開く
$ heroku open
引用