PR

 CI導入の一つ目の難関は、環境をどう作るかである。「環境」と聞いて、敷居が高く、価格も高いと思う人がいるかもしれないが、そんなことはない。オープンソースソフト(OSS)として提供されるツールを組み合わせれば、CI環境を全部タダで用意することもできる。

 とはいえ、どの分野のどんなツールをそろえればよいのかについては慎重さが求められる。やみくもに種類や数をそろえても導入の負担が増すだけ。相性や連携の問題があるからだ。

 富士通の藤川氏がグループ企業への展開を推進する環境が図1である。CI環境はツールの「4点セット」で作るのが基本だ。4点セットとは「ソースコード管理ツール」「ジョブ管理ツール」「ビルドツール」「テストツール」である。このうちジョブ管理ツールを「CIツール」と呼ぶことが多い。

図1●CIの環境は「4点セット」で作る
図1●CIの環境は「4点セット」で作る
[画像のクリックで拡大表示]

 図1には具体的なツール名を示している。中心的な役割を果たすのが、ジョブ管理ツールの「Jenkins」だ。ここで示したツール群は、CIを実践する多くの現場で、定番と呼ばれている。

 処理の流れはこんな具合である。まず、ジョブ管理ツールがソースコード管理ツールから該当するソースコードを読み込む。次にジョブ管理ツールは、ビルドツール上で規定している一連のジョブの実行を指示。ビルドツールは、ジョブで指定されたテストの実行をテストツールに指示し、結果をジョブ管理ツールが取得してレポートを出力する。同時に各ソフトウエアを結合する。

 テストツールには、単体テスト、GUIテスト、静的解析、カバレッジ測定などを行うツールをそろえる必要がある。このためツールの種類は決して少なくない。オージス総研の伊藤喜一氏(アドバンストモデリングソリューション部 アーキテクトチーム シニアスペシャリスト)らは、こうしたツール群を仮想環境上にテンプレートとして用意。通常1~2日かかるインストールや設定作業を、1時間程度で終わるように工夫している。

 また、冒頭のアットホームのように、CI環境を統合したTFSなどを導入すれば、環境構築の手間を省ける。

 環境構築で注意すべき点はまだある。前出・篠田氏によると、ジョブ管理ツール以外のツールは、事前に導入して開発者が慣れておいたほうがよいという。CIを導入すると、各ツールが連携して動くため、「いったい何をしているのかさっぱり分からないことがある」(篠田氏)からだ。問題が起こったときに対処できるように「各ツールがどんな動作・連携をするのかをCI導入の前に実践して把握する必要がある」(同)という。