最近はパスタ作りがブームなエンジニアリングチーム 川合(@Ricckn)です。アルミフライパンいいですね。最近はペペロンチーノとトマト系でボロネーゼとかアラビアータとか作ってます。あとボンゴレビアンコも美味しく作れました。
さて、前回のF-RevoCRMをGithubに公開しました | Thinkingreed エンジニア採用サイトに引き続き、GithubにあげたF−RevoCRMのコード関係についての記事になります。
開発環境周りで「Dockerfileは無いですか」、とよく聞かれていましたが、今回のGithub上のレポジトリにはDocker環境を一発で構築するコードが入っています。
セットアップ済みではないので、Dockerを立ち上げた後にインストールを行う必要はありますが、これまでに比べて格段にお試しいただきやすくなっておりますので、今回はその方法を簡単にではありますがお伝えできればと思います。
F−RevoCRMのDocker環境利用手順
以下のコマンドを実行してください。
※以下検証環境
- – macOS v11.0.1
- – Docker v20.10.0
- – docker-compose v1.27.4
- – Windows10 20H2
- – WSL2 Ubuntu 20.04
- – Docker v19.03.13
- – docker-compose v1.23.2
cd WORK_DIRECTORY
git clone git@github.com:thinkingreed-inc/F-RevoCRM.git
cd F-RevoCRM
mv config.inc.php config.inc.php.bak
docker-compose up --build
これだけです!
この後、 http://localhost
にアクセスしていただき、セットアップ手順に従ってインストールします。
ちなみに、インストール手順中のDB設定などはGithubからDLしたF−RevoCRMレポジトリであればすでに入力されていますので、Adminユーザーの設定を行っていただくだけで構築可能です。
なお、config.inc.phpを外す理由としては、無いことによってインストール画面を出すような処理になっているからとなります。
IssueかPRにあげていますが、今後config.inc.phpは.gitignore
に入れるような対応を行う予定です。すると手順としては不要になります。
Docker環境の注意点
WSL2の環境で、ホストマシンのスリープなどを行うと、時間がずれる問題があるそうです。これによって、apt
などのコマンドでエラーが出るケースが有ると報告をもらっていますので、もし適切にDockerfileがbuildできなかったら、この部分を疑ってください。
※参考 WSL 2 で時計がずれる. で応急的には直せた。以下の issue がまだ open… | by oka | Medium
快適な開発環境のために
もともと社内ではDockerコンテナをローカルに建てて開発を行っていましたが、以前記事にちらっと書いたとおり、WindowsとDockerとのファイルマウントがおそすぎて厳しい問題がありました。
もともとはDocker for Windowsを使ってDocker上に構築された環境で作業を行っていたのですが、Docker for Windowsのファイルマウントが遅い問題があり、ページが開くまでにすごく長い時間がかかることから、開発サーバー上にKVMで各自の仮想環境を建てて、その環境でさらにDockerを建てて作業を行っています。
WSL2とExplorerの統合 | Thinkingreed エンジニア採用サイト
これが、現在はWSL2の中にCloneして動かすことでほぼ速度を気にしなくていい所まで来ています。
一応、テンプレートファイル系が生成されるディレクトリはマウントしないようにする工夫とか少しは入れてありますが、それにしても高速化したことで今後はローカル開発環境に移行することも可能かもしれません。
※バッチ処理のテストとかは、自分のPCのリソースを使わないので便利ではあるのですが・・・。
まとめると、WindowsとWSL2の進歩と、Docker環境周りを整備したことで、すぐ開発できるようになることがF−RevoCRMのコミュニティにとって重要なことだなぁと思いましたというのと、長らくおまたせしましたが、是非Dockerを使ってお試しいただければと思います。
それでは次回のエンジニアリングチームブログもお楽しみください。