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 」についての詳細はこちら

1~2日で自動化基盤を構築、すぐに試せる

 TJPPのサービスの流れは次の図の通り。環境構築にかかる時間は約1~2日で、すぐにバグ検出、および自動化環境が試せるようになる。

「TechMatrix Jenkins Platform Package for Java」のサービスの流れ
「TechMatrix Jenkins Platform Package for Java」のサービスの流れ

 TJPPを活用すると、開発者の手を煩わせることなく自動化環境の構築が可能になる。また海外においてはCI/CDツールの導入は経営上のミッションとして設定されることは多いが、日本では開発現場レベルで導入効果をまとめて上司に報告し、導入を承認してもらわなければいけないといった事情もある。

 「TJPPでは2日で開発現場に評価用の自動化環境を構築できるので、あとは開発者の方が実際に触ってみて、効果を実感いただくだけです。また、導入初期は状況に応じて柔軟に変更したい点も多くあるかと思います。このパッケージでは3カ月間の保守サポートも提供しており、設定のノウハウも伝授するので、1つのプロジェクトで効果が出れば、他のプロジェクトにもスケールしていきやすい。ぜひ活用して自動化を推進していただきたいです」(会田氏)

 なお、TJPPは自動化基盤を整備するための基本的なサービスを提供するが、「Jenkinsの知識を高めたい」「よりバグ検出の精度の高さやUIテストの自動化を求めたい」といったニーズに応えるため、次のオプションが用意されている。

A.Jenkins 1Dayトレーニング

 CloudBees社認定エンジニアによるJenkinsのハンズオントレーニング。継続的インテグレーションの基礎からJenkinsの基本的な使い方(ビルド、デプロイ、プラグイン管理)、Jenkins2.0で導入されたPipelineまで、実践的な演習を通じて習得できる。

B.CloudBees Jenkins Support

 プラグインの互換性の確保と、Jenkinsエキスパートによるベストプラクティスを提供。開発チームは安心してJenkinsを利用することができる。

C.Jtestバグ検出のルール選定サービス

 お客さまの要望に合わせたバグの検出を行うため、実プロジェクトの解析結果を分析。要望を元に、Jtestに搭載されている多数のコーティングルールの中から解析ルールの選定を行う。

D.RanorexによるUIテスト自動化

 UIテスト自動化ツールRanorexを使い、Jenkins上でUIテストの実行が呼び出されるよう設定を行う(テストシナリオの作成は含まない)。

理想的な開発現場では70倍のスピードで製品リリースが可能に

 TJPPがリリースされてまだ間もないにも関わらず、「このパッケージを開発するきっかけとなった大手金融機関のほか、通信、製造などの複数企業ですでに導入実績をいただいています」と常盤氏は語る。

 テクマトリックスが主催する「Jenkins Day Japan 2017」でお客さまから発表された事例として、実際に欧州のある自動車メーカーでは自動化環境を整備し理想的なソフトウェア開発の現場を実現したことで、製品のリリースが従来の70倍のスピードで可能になったと報告されている。

 欧米ではすでに経営上のミッションであり、ビジネスの競争力の源泉として認識されつつある、ソフトウェア開発の自動化基盤の構築。検討はしているがどう実現していいかわからない、導入はしたものの効果は出ていない、というのであればぜひ、TJPPを活用してほしい。開発現場はもちろん、経営側にも大きなメリットが得られるはずだ。

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

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

著者プロフィール

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

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

All contents copyright © 2005-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5