こんにちは、クックビズ開発部の杉田です。
最近は開発環境やチーム開発に関して社外のエンジニアの方と話す機会が多いので、今回は弊社の開発環境について公開(暴露)したいと思います。

開発環境とは関係ありませんが開発チームとfarm+bizチームの飲み会風景
開発の歴史
僕が入社した当時(2年前)は開発部は存在してなくて一人ぼっちで、既存システムのレガシーなPHPコードと格闘していました。現代の開発現場では信じられないかもしれませんが、ありとあらゆるものがレガシーでした。
というわけで、Backlogを導入して開発の課題管理、Git導入でソースコード管理、Vagrant導入でローカル開発環境構築(それまではXAMPPだった!!)、AWS導入でインフラ込みのDevOpsと簡単デプロイを実現、PhpStorm導入でプログラミングを簡単に、という感じで次々と環境改善をしていきました。その間、一人ぼっちだった開発部は徐々に人数が増え現在は5名体制+パートナー企業2社で自社サービスを開発しています。
各種ツールを簡単に紹介
せっかくなので導入したツールをかいつまんで紹介します。弊社チームではこんな使い方をしています、という内容なので、知らなかった方は参考にどうぞ。(使い方間違ってるぞというツッコミも歓迎します)
Backlog+Git
Backlogとは(公式より)
チームではたらく、すべての人に
プロジェクト管理ツール”Backlog”Backlogは、毎日の仕事を、もっと楽しく、楽に、チームを、もっと明るく、
元気にして、よりスムーズにプロジェクト成功へ導きます。
当時プロジェクトの課題管理が全部エクセルとメモ帳だったので、課題管理ツールとしてBacklogを導入しました。個人的にはGitHubを使いたかったのですが、新しいツールの導入+UIが英語と障壁が高かったので純国産のツール導入をしました。メンバーが増えてくると誰が何をやっているのか見えるようになりますので、開発チームを持っている会社は何らかの課題管理ツールを入れた方が良いです。
BacklogにはGitも標準装備されていたので活用しています。ブランチ運用は自社独自の運用です。
- master(開発最新版)
- feature(機能改善・追加)
- bugfix(バグ修正)
- release(本番環境)
masterとreleaseは1本だけで、featureとbugfixブランチが大量に存在する運用をしています。
Vagrant
当時ローカル環境はXAMPPという非常に残念な感じでしたが、ことば研究所の田中久輝さんに本番環境とそっくりのローカル環境をVagrantで構築してもらいました。新人が入ってもvagrant upだけで環境構築ができるので非常に楽です。WindowsでもMacでも同じ環境が再現できますので、「俺のMacではそのバグ発生しないんだけど」問題とおさらばできました!
と言いつつ、困ったこともあります。Chefを利用するのにBerkshelfを使っているのですが、頻繁にバージョンアップされるので、よく立ち上がらなくなります(笑)。そしてそもそもWindowsにインストールするのが死ぬほど手間だったりするので、Windowsの人には完成したCookbookをZipで渡して環境作ってもらったりしてます。なんじゃそら。
ちょっと問題はあるものの、Win、Mac、エンジニア、デザイナー、外注先のみんなが同じ環境で開発できるのはほんとうに便利です。
AWS(Amazon Web Service)
以前は、オンプレミスのWebサーバを利用していましたが、大量のアクセスを捌けなくなりクラウドに変更しました。一応解説しておきますとAWSとは、あの有名本屋Amazonが提供しているクラウドサーバの名前です。何で本屋がサーバ?というところを突っ込むと話が長くなるので、割愛します。
クラウドなので当然ですが、サーバを立てたり捨てたりが非常に簡単になりました。同時に複数の開発を行っているときなどは必要な台数だけサーバを立ち上げて使い終わったら捨てるという使い方をしています。使う時もチャットで「使うねー」と宣言するだけのお手軽運用をしています。
サーバへのデプロイ作業は以下の様な流れになっています。
- BacklogのGitサーバからソースを展開
- composerアップデート
- rsyncで公開ディレクトリにソースをコピー
Jenkins使えば?という声が聞こえてきそうですが、上記の手順を一つのコマンドで実行しているので今のところ無くても問題ありません。一人ぼっちだった頃はFTPを使って必要なファイルを選択してアップロードしていましたので、大した進歩です。懐かしい。
PhpStorm
PhpStormはPHP開発に特化したIDE(統合開発環境)です。Dreamweaverが超すごくなったもの思ってください。どれくらい違うかというと、Hunterxhunterのレオリオとネテロぐらい違います。
当時は、NetBeansやCoda、Sublime textなど各人が使いたいエディタを利用していましたが、使っているツールによって品質に差が出始めたので、デザイナー&エンジニアの全員にPhpStormを導入しました。社長に欲しいと言ったらポンと買ってくれたのでここで感謝の意を述べます。ありがとう!はかどってます!
まとめ
いかがでしょうか?まだまだ発展途上のところもありますが、徐々に徐々に改善をしていっています。開発環境の作り方で困っている方はぜひ意見交換しましょう。FacebookやTwitterでお気軽に声をかけてください。