LoginSignup
1
0

More than 3 years have passed since last update.

Heroku+Rails+MySQLでデプロイする方法

Last updated at Posted at 2020-04-26

Heroku+Rails+MySQLでデプロイした際の備忘録として作成いたしました。

環境

MacOS 10.15.4
Ruby 2.5.1
Rails 5.2.3
Mysql2 0.5.3

Heroku上にアプリを作成

※Herokuの新規登録とクレジットカードの登録がまだの方は登録を済ませてから行ってください。

$ heroku login

上記のコマンドでブラウザにログインページが出てくるのでログインしてください。

$ heroku create <アプリ名>
$ git remote

herokuのgit URLが表示されることを確認してください。
下記の様に出力されます。

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)

git remoteで表示されたherokuのgit URLをリモートリポジトリに追加します。

$ git remote add heroku https://git.heroku.com/xxxxx-xxxxx-xxxxx.git

環境設定

データベースと環境変数の設定を行なっていきます。
今回は無料のigniteプランで作成致します。

$ heroku addons:create cleardb:ignite
$ heroku config

下記の様にClearDBのURLが表示されますので、コピーしておきます。

CLEARDB_DATABASE_URL: mysql://<ユーザー名>:<パスワード>@<ホスト名>/<データベース名>?reconnect=true

上記のURLを参考に下記を登録していきます。

$ 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'

続いて、DATABASE URLを登録します。
※今回はmysql2で登録しますが、Gemfileを確認して'mysql'を使用している場合は、mysql://で始めてください。

$ heroku config:add DATABASE_URL='mysql2://<ユーザー名>:<パスワード>@<ホスト名>/<データベース名>?reconnect=true'

Railsの環境変数にcredentials.yml.encを使っている場合は下記で登録できます。

$ heroku config:set RAILS_MASTER_KEY='cat config/master.key'

heroku configで登録内容が確認できます。

$ heroku config

本番環境のcompileの設定

config/environments/production.rbに下記を追加します。

config/environments/production.rb

config.assets.compile = true #falseからtrueへ
config.assets.initialize_on_precompile=false

デプロイ

$ git add .
$ git commit -m "コミットメッセージ"
$ git push heroku master

これでうまくいけばデプロイは完了です!!
エラーが出る場合はこちらをご確認ください。

最後にdbマイグレーションをします。

$ heroku run rake db:migrate

では、アプリを開いてみましょう!

$ heroku open

以上でHerokuによるデプロイが完了しました!

最後に

Herokuを使うことで非常に簡単にデプロイができました。
問題がなければこれからも使用していきたいです。

参考

https://kurose.me/heroku-deploy/
https://qiita.com/rainbow___0/items/1789920cf797b5e80a5e
https://qiita.com/daigou26/items/64d87d987652c4108ae6
https://qiita.com/terufumi1122/items/27bf288414569e13e050

1
0
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
1
0