Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

CI/CDツールを活用した理想的なソフトウェア開発なら70倍のスピードでリリースも可能――テスト自動化基盤パッケージ「TechMatrix Jenkins Platform Package for Java」

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2018/09/04 14:00

 海外ではすでにCI(継続的インテグレーション)/CD(継続的デリバリー)ツールを導入し、ソフトウェアの開発プロセスを自動化することは当たり前になりつつある。一方、日本では導入を検討するものの、「どこから手をつければよいかわからない」「導入をしたいが、人手が足りない」などの理由により、導入が進んでいないのが現状だ。こうした多くの開発現場が持つ悩みを解決するソリューションが登場した。それがテクマトリックスの提供する「TechMatrix Jenkins Platform Package for Java(TJPP)」だ。このソリューションのメリットや効果とは何か。また、どのような場所で使われているのか。同社のシステムエンジニアリング事業部 ソフトウェアエンジニアリング技術部 ソフトウェアエンジニアリング技術二課の会田圭司氏と常盤旭氏に話を伺った。

目次
テクマトリックス株式会社 システムエンジニアリング事業部 ソフトウェアエンジニアリング技術部 ソフトウェアエンジニアリング技術二課 会田圭司氏(左)、同 常盤旭氏(右)
テクマトリックス株式会社 システムエンジニアリング事業部 ソフトウェアエンジニアリング技術部
ソフトウェアエンジニアリング技術二課 会田圭司氏(左)、同 常盤旭氏(右)

CI/CDツール導入は欧米ではすでに経営上のミッション

 より早く、より良いモノやサービスを提供して競合他社より競争優位に立つ。そのために欠かせないのが、モノづくりやサービス提供を支えるソフトウェアのリリーススピードの向上である。欧米の企業ではそれを経営のミッションに掲げているため、ソフトウェア開発の現場では、CI/CDツールの導入が進んでおり、今ではどう効果を上げていくかが経営課題になっているという。

 このように欧米ではすでに導入が当たり前になっているCI/CDツール。CIとは継続的インテグレーションの略で、アジャイル開発のプラクティスのひとつ。簡単に言えば頻繁にビルドやテストを行うための手法だ。「ソフトウェアをこまめにチェックすることで、手戻りの減少やバグ修正コストの削減を実現し、早期リリースが可能になります」と会田氏は説明する。一方のCDは継続的デリバリーの略で、頻繁にリリースを可能にすることができるプラクティスだ。ソフトウェアを常に本番環境に簡単にリリースすることで、ユーザーからのフィードバックを受けやすくなる。

継続的インテグレーションとは
継続的インテグレーションとは

 CI/CDツールを導入するメリットのひとつは、「ビジネス上の競争優位性が高められることです」と会田氏は語る。競合他社よりも早くリリースすることで、お客さまからのフィードバックが早く得られ、お客さまにより満足いただけるモノ・サービスづくりができるようになるというのだ。

 さらに開発現場においては、品質の向上や開発リソースを知的な作業に集中できるようになるだけでなく、「精神的な安心が得られる」という最大のメリットがある。書いたコードはその日のうちにチェックされて問題点が指摘されるため、リリース後に大きな障害が発生するリスクが減らせるからだ。

導入の障壁を解消する「TechMatrix Jenkins Platform Package for Java」

 このようなメリットがあるにもかかわらず、日本ではCI/CDの導入がそれほど進んでいないという。その理由について会田氏は「私たちのお客さまからは、ツールを選定し、セットアップして立ち上げるのは意外に大変な作業と聞きます。だから躊躇してしまうようです」と述べる。

 たとえOSSツールを自前でセットアップし、環境を作ったとしても、多くの開発現場ではCI専門のチームを抱えておらず、開発チームの誰かがビルドサーバの面倒を見ることになる。ビルドエラーが出ても、すぐに対応できず放置されたり、チェックツールの結果が多くて修正する気が起きなくなったりするという。つまり長く使うことを考慮した環境を作れずにいるため運用に乗らない。「本来のメリットを享受できず効果が出にくいのでそれ以上の投資ができず、スケールしないケースが多いのです」と会田氏は指摘する。

 しかしここ最近のITの内製化の流れから、コストや効率性を考えて、自動化を進めていく機運が高まっているという。そこでテクマトリックスでは「どう導入していいかわからない」という開発現場向けに、某金融系企業に提供したCI環境構築のためのソリューションを参考に、CIの第一歩となる自動化基盤の構築を主軸に置いた環境整備のためのソリューションをパッケージ化した。それが「TechMatrix Jenkins Platform Package for Java(以下、TJPP)」だ。

 TJPPは以下の内容で構成される。

「TechMatrix Jenkins Platform Package for Java」の構成
「TechMatrix Jenkins Platform Package for Java」の構成
  1. Jtest Engine ノードロックライセンス1本
  2. バグ検出アセスメントサービス
  3. Jenkinsを用いた自動化環境の構築
  4. 環境構築手順書の作成
  5. 環境構築のノウハウをレクチャー
  6. 構築した環境の保守サポート(3カ月間)

 CIツールはOSSのJenkins、静的コード解析ツールは米Parasoft社が開発したJtestを採用。CheckstyleやSpotBugsなど、数ある静的コード解析ツールの中からJtestを採用しているのには理由がある。それは、Jtestがオープンソースのツールと比べてバグ検出の精度が高いことや同社に導入のノウハウがあること。さらに開発現場で検出したい問題に対応したコーディングルールの選定を、オプションサービスとして用意できる点もその理由だ。

 また、それらのセットアップから自動化環境の構築、さらには環境構築のノウハウの伝授、保守サポートまでがパッケージ化されている。個別で構築する際に、ツール選定や評価、環境構築、保守運用という各フェーズで表れる障壁が、このパッケージを活用することでなくなるのである。

「TechMatrix Jenkins Platform Package for Java 」についての詳細はこちら


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 中村 仁美(ナカムラ ヒトミ)

     大阪府出身。教育大学卒。大学時代は臨床心理学を専攻。大手化学メーカー、日経BP社、ITに特化したコンテンツサービス&プロモーション会社を経て、2002年、フリーランス編集&ライターとして独立。現在はIT、キャリアというテーマを中心に活動中。IT記者会所属。趣味は読書、ドライブ、城探訪(日本の城)。...

バックナンバー

連載:早期に問題を発見、品質向上に貢献するJava対応静的解析・単体テストツール「Jtest」
All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5