個人で色々とアプリを作り始めて1年ぐらい立つと各プロジェクトごとに微妙にrubyのversionが違ったり環境構築が複雑化してきた。これを期にdockerを導入し、local環境と本番環境の構成を見直してみた。
課題点
- プロジェクトによって言語やフレームワークのversionに差異ができる
- ただすべてのversionを一律にversionupしていくのは面倒
- よってlocal開発環境をプロジェクトごとに独立させたい
というのが課題点。これを叶えるためにdockerを導入し、プロジェクトごとにversionを独立できるようにした。
全体構成
本番の開発環境は
- railsならheroku
- SPA(nuxt)でSSRするならheroku、なしならfirebasehosting
で、herokuが勝手によしなにしてくれるので本番環境側でdockerを使う必要は今回はなさそう。全体構成は下記。