fv17の日記

Webエンジニアの備忘用ブログです。主にWeb界隈の技術に関して書いています。

Rails6 + postgresql 12.3 + docker + heroku

参考

Quickstart: Compose and Rails | Docker Documentation
Dockerを使ってRails6環境の構築をしてみる - Qiita
RailsアプリをDockerで作ってCircleCIで自動テストしてHerokuにデプロイした話 - Qiita

メモ

Docker 公式Docの方法はRails5までの対応で、Rails6になると次の対応が必要

  • Rails6からwebpacker利用のため、Dockerfileでyarnのinstallが必要
  • postgresqlでパスワード設定をしないと起動できない仕様変更が入ったため、それの対応

やっといた方がよいこと

  • 公式DocやQiita記事だとバージョン指定していないことが多いが、した方が良い(ruby rails postgres etc...)
  • 勝手にバージョンが上がることを防げるし、最新バージョンだと依存関係問題が発生しがちなので回避できる

2020年5月現在で気になること

  • Rubyはバージョン2.6.6指定の方が良さそう。理由は2.7になるとキーワード引数等に大きな変更があり、未対応gemがありそうなため。ただし、徐々に対応されてくるはずなので、将来的には上のバージョン指定で良い

エラーと解決方法

docker-compose up 時に Yarn まわりでエラー

web_1  | ========================================
web_1  |   Your Yarn packages are out of date!
web_1  |   Please run `yarn install --check-files` to update.
web_1  | ========================================

解決方法

  # Write in config/environment/development.rb 

  # Disable yarn integrity
  config.webpacker.check_yarn_integrity = false