環境
Rails 5.0.7.2
Ruby 2.6.3
herokuへのデプロイ手順
- heroku にアプリを作成(すでにherokuにログインしていると仮定)
$ heroku create herokuアプリ名
- 本番環境用にGemfile, database.ymlを変更
- Gemfilm: Postgre SQLとRailsを連携させる
- database.yml: DBをPostgreSQLに設定
- 下記を追加,実行し,本番環境へ反映
- 本番環境上でアセットパイプラインを通るようにプリコンパイル処理を実行する
config/environments/production.rb config.assets.compile = false
- 本番環境上でアセットパイプラインを自動で通るように設定を変更する
$ rake assets:precompile RAILS_ENV=production
- 試したい場合は,以下コマンドを打ってエラーが出ないかを見てみる
$ RAILS_ENV=production bundle exec rake assets:precompile
- 本番環境上でアセットパイプラインを通るようにプリコンパイル処理を実行する
- heroku にデプロイ
$ git push heroku master
- マイグレーション
$ heroku run rails db:migrate
詳細:本番環境用にGemfile, database.ymlを変更
group :production do
gem 'pg', '0.21.0'
end
database.yml
略
production:
adapter: postgresql
encoding: unicode
pool: 5
database: message-board_production
username: message-board
password: <%= ENV['MESSAGE-BOARD_DATABASE_PASSWORD'] %>
まとめ
一番最初に(herokuへデプロイする前に)アセットパイプラインのための設定をしておきましょう.
私はこの順番をミスりました.