こんにちは、仙台支店のあっしーです!
今回は仙台支店での受託開発の開発フローと最近案件で導入したCIツールについて簡単にご紹介したいと思います。
仙台支店での受託開発ではバージョン管理にBitbucketを利用していることが多く、開発フローについてもPull-Request(プルリク)でコードレビューを実施するような体制になっています。
コードレビューの指摘では機械チェックで対応できるような内容も多々あり、毎度指摘するのは指摘する側もされる側も心が折れるものですよね。
今期の仙台支店の単年目標に「品質向上」といった目標もあり、最近ようやく各案件でのCI環境の導入、整備が進んできたので今回は一部の事例についてご紹介したいと思います。
そもそもCIって?
エンジニアでは当たり前のように使われている言葉ですが、Wikipediaで調べると、以下のように記載されています。
継続的インテグレーション、CI(continuous integration)とは、主にプログラマーのアプリケーション作成時の品質改善や納期の短縮のための習慣のことである。エクストリーム・プログラミング (XP) のプラクティスの一つで、狭義にはビルドやテスト、インスペクションなどを継続的に実行していくことを意味する。特に、1990年代後半以降の開発においては、継続的インテグレーションをサポートするソフトウェアを使用する傾向が強まってきた。
CIを導入するメリットについていろいろ考えられますが、例えば以下のようなものが挙げられますね。
- 作業の属人化を回避できる
- 想定外の状況が発生した時に検知できる
- 環境依存の問題を検知できる
WEB開発案件でのCI導入について
CIツールの導入にあたってJenkinsなどいくつかのCIツールを試してみました。
さきほど述べた通り仙台支店ではBitbucketを使っていることが多く、同社のbitbucket-pipelineを使用してみたらよいのではないかという考えにいたりました。
そこで最近着手したプロジェクトで実際にbitbucket-pipelineを導入してみました。
結果としてbitbucket-pipelineは無料プランだとビルド時間が50分/月まで無料となっているため、中規模以上のプロジェクトになるとちょっと厳しいですが、数名程度の小規模開発であればお得に利用できています。
(ソースコードの静的チェック、PHP-CS, PHP-MDを実施、怒られるとマークがつく)
こんな感じでBitbucketと連携することでプルリクを出した際に自動でコードチェックしてくれて、問題があれば通知してくれるので機械的な指摘も減ってロジカルなレビューに集中できるようになって、みんな幸せになれそうですね。
Bitbucketを使っているのであれば導入障壁も小さいので、ぜひ導入してみてはいかがでしょうか(導入に関するご相談、サポートが必要であれば弊社まで!)。
次回はアプリ案件でのCI導入事例についてもご紹介できればと思っています。