モダンな開発環境への移行 - BE編 -
こんにちは、ラントリップ 竹村です。
前回に続きモダンな開発環境への移行に向けての取り組みについて記録に残して行きます!
ラントリップ のBEプログラムの言語はPHPで書かれていて、フレームワークは当時PHP7.0以上を採用していた点と学習コストの少なさ、動作の軽快さの観点でFuelphpを選定し開発をしています。
初期の段階では開発メンバーも1-2人でシンプルなMVCを採用しているフレームワークが故にスピーディーに開発できてこれはこれで良かったのですが新しい機能や、複雑なビジネス要件も増えて来たことによりコントローラやモデルのソースコード量が肥大化し見通しが悪くなってきました。
また、周辺状況としても事業の拡大に伴い開発に関わるメンバーが今後更に増加することが見込まれる中で属人化・環境依存の排除が無視できない課題になってきました。
そんな経緯もあり、今回の移行タイミングでこれらの課題解決の為に以下を実施することにしました。
1. DI(Dependency Injection)を含むクリーンアーキテクチャの導入
2. VM環境 → Docker環境への移行
3. CI環境の構築
Laradockの導入
1,2を進める上で、PHPフレームワークとしてはDIの仕組みを用意しているLaravelを選定しLaradockを利用してDocker環境を用意することにしました。これにより、VPNの設定などなしにDockerを立ち上げればどこでも開発可能な環境へ移行します。
また、Laravelのmigration機能を利用することでDBの問題は解決しましたがAWSとの連携周りなどまだ検討が必要な部分は進めていく中でポロポロと出て来そうな感じ。
CI環境の構築
CI環境の構築に向け、クリーンアーキテクチャに基づき設計を行うことでテストしやすい構成を用意すると共にLintツールとして PHP_CodeSniffer を導入し文法チェックの自動化も行いました。
あとは、CodePipeLineを利用して自動化の仕組みを用意すると!ただ、この段階でDeployの部分も設計しておかないと破綻しそうなので次回その部分についても議論することに。
っとまず決まったものはこんな感じ。これらは全て前回記事でも紹介した副業メンバーが中心となって進めてくれております!
ラントリップ では今後よりエンジニアが力を発揮しやすい環境作りにも積極的に取り組んでいきます!ご興味のある方、まずは一緒に走りにいきませんか?
この記事が気に入ったらサポートをしてみませんか?