# 開発環境

vagrant
CentOS7
rails version 6系
mysql5.7系

# (rails,mysqlでherokuデプロイまでの手順

目次

# 全体の流れ(方針)

公開までの大まかな流れは以下のような感じです。

1.rails側の設定

2.herokucliをインストール

3.herokuの設定

4.herokuにpushをする

# rails側の設定

config/environments/production.rbに以下を追記

config.assets.compile = true
config.assets.initialize_on_precompile=false

gitでリポジトリを作成

$ git init
$ git add .
$ git commit -m "<適当なコミットメッセージ>"

# herokucliをインストール

その前にwgetコマンドをCentOSを取得する

$ yum list installed | grep wget
$ sudo yum install wget

これを使ってherokuをインストール

$ sudo mkdir -p /usr/local/lib /usr/local/bin
$ cd /vagrant
$ sudo wget https://cli-assets.heroku.com/branches/stable/heroku-linux-amd64.tar.gz
$ sudo tar -xvzf heroku-linux-amd64.tar.gz -C /usr/local/lib
$ sudo ln -s /usr/local/lib/heroku/bin/heroku /usr/local/bin/heroku
$ heroku --version

# herokuの設定

herokuにログインする

$ heroku login

注意

コマンドライン上で、先ほど作成したRailsプロジェクトのディレクトリに移動した上で 下のコマンドを実行する

$ heroku apps:create <アプリの名前>

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)
$ heroku addons:create cleardb:ignite

DBのURLを確認してメモ

$ heroku config
=== <アプリの名前> Config Vars
CLEARDB_DATABASE_URL: mysql://<ユーザー名>:<パスワード>@<ホスト名>/<データベース名>?reconnect=true
$ 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にpushをする

$ git push heroku master

WARNING

master以外のローカルブランチの場合は

$ git push heroku <ブランチ名>:master
$ heroku rake db:migrate
$ heroku open

# 参考サイト・記事

Herokuへのデプロイ方法【Heroku+Rails+MySQL】 (opens new window)
Vagrant(CentOS7)にHeroku CLI をインストール (opens new window)
wgetコマンドがない (opens new window)