##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
##環境変数
###環境変数一覧
$ 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
##herokuへpush
$ git push heroku master
##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から接続する
http://hhmmm.hateblo.jp/entry/2016/02/15/204638