LoginSignup
12
12

More than 3 years have passed since last update.

RailsアプリをHerokuにデプロイ(MySQL)

Last updated at Posted at 2019-04-03

Heroku CLI 導入

$ brew install heroku/brew/heroku

herokuのコマンドラインツール導入

herokuの操作ができるようにできるツールです。

$ brew install heroku-toolbelt

コマンドが使えるようになっているか確認

$ heroku -v

※私は一度herokuniデプロイした経験があってheroku -vしたときに

 ›   Warning: heroku update available from 7.21.0 to 7.22.7
heroku/7.21.0 darwin-x64 node-v10.15.3

と表示されたのでheroku updateでアップデートした

アプリのディレクトリに移動する

$ cd <ローカルのアプリ名>

Herokuアプリを作成する

ここで入力したアプリ名がURLに入る(→http://<アプリ名>.herokuapp.com)

$ heroku create <アプリ名>

#変更する時
$ heroku rename <アプリ名>

Procfile作成

Gemfileと同じ階層に作成

Procfile.
web: bundle exec rails server -p $PORT

Database設定

database.yml
production:
  <<: *default
  url: <%= ENV['DATABASE_URL'] %>
  username: <%= ENV['DATABASE_USERNAAME'] %>
  password: <%= ENV['DATABASE_PASSWORD'] %>
  master_key: <%= ENV['RAILS_MASTER_KEY'] %>

コンパイル

config/application.rb
config.assets.initialize_on_precompile = false
production.rb
config.assets.compile = true

コンソールにエラーを表示

gemfile.
gem 'rails_12factor', group: :production

環境変数作成

$ heroku addons:create cleardb:ignite    #mysqlの環境変数が作成される
#CLEARDB_DATABASE_URL: mysql://ユーザー名:パスワード@サーバー名/データベース?reconnect=true

ブラウザでもできます
スクリーンショット 2019-04-03 23.04.05.png

環境変数

環境変数一覧

$ heroku config

環境変数追加

$ heroku config:set DATABASE_URL="~~~"
#DATABASE_URLの部分をDB_PASSWORDやDB_USERNAMEに変える

heroku config:set DB_USERNAME=""
heroku config:set DB_PASSWORD=""
heroku config:set SECRET_KEY_BASE=""
$ bundle exec rake secret RAILS_ENV=production
ここででてきたものをSECRET_KEY_BASEに格納
$ heroku config
CLEARDB_DATABASE_URL: mysql://b0e********9b833:2********-cdbr-********-03.cleardb.net/heroku_8********8a779?re********true
DATABASE_URL:         mysql2://b0e********9b833:2********-cdbr-********-03.cleardb.net/heroku_8********8a779?re********true
DB_PASSWORD:          ********
DB_USERNAME:          ********
SECRET_KEY_BASE:      04873c4f********1d6d********359c90********eb5f94********c4013770e32********d142cd622********4e7e58********0

スクリーンショット 2019-05-07 8.08.26.png

herokuへpush

$ git push heroku master

South Treeだとこう切り替わる
スクリーンショット 2019-04-04 0.53.07.png

スクリーンショット 2019-04-04 1.55.37.png

heroku上でマイグレーション

$ heroku run rake db:migrate

URL開く

heroku open

エラーが出た時

このコマンドを打ってターミナルでログを見る

$ heroku logs

おまけ

       rake aborted!
       SassC::SyntaxError: Error: Invalid CSS after "}": expected 1 selector or at-rule, was "blockquote: before,"
               on line 210 of stdin
       >> }

こんなエラーが出て、CSSを修正しなければいけなかったんですが、そのときにこのサイトが役に立ちました〜😀

Heroku ClearDBにSequel Proから接続する

12
12
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
12
12