CI(継続的インテグレーション)の第一歩

CI(継続的インテグレーション)は継続的にビルドやテストを行うソフトウェア開発の手法です。 CIを導入するとエラーフィードバックが早くなり、影響範囲が小さいうちに修正できるようになります。CIの導入には以下のようなメリットがあります。

  • 開発者の生産性向上
  • 作業品質の向上
  • 運用の標準化
  • リリースサイクルの向上

CI環境を導入する事で開発サイクルが大きく改善されます。しかし、どこから始めたら良いかわからない、知見が無い時間がないなどの理由からなかなか手を出せない事もあると思います。そこで、ソースコード品質向上の観点から「静的解析の自動化」にまず取り組むのはいかがでしょうか?Jtestは、CIツールとの連携も容易に出来るため最初の一歩には最適です。


CI(継続的インテグレーション)にJtestを組み込むメリット

JtestをCI環境に組み込むメリットは大きく2つあります。

  • 開発者によるソースコード品質のムラを防止(品質の平準化)
  • 結合時に発生する潜在的なバグの検出

開発者によるソースコード品質のムラを防止(品質の平準化)

CIにソースコード品質のバラツキを防ぐ「コーディング規約チェック」を組み込めば、解析の実行から開発者への違反の通知まで自動的に実行され、効率的に品質を向上させることができます。Jtestは約1,100種類を超えるJavaのコーディングルールを標準搭載し、個々のルールのカスタマイズ、独自作成も可能なため、どのようなソースコードにも柔軟に対応できます。

結合時に発生する潜在的なバグの検出

Jtestはコーディング規約チェック機能に加えて「フロー解析」機能を搭載しています。フロー解析はOSSのテストツールでは通常検出することが難しい「複数ファイルに呼び出しがまたがった際に発生するバグ」の検出が可能です。CIにJtestのフロー解析を組み込むことで、結合時に発生する潜在的なバグを効率的に検出することができるようになります。
OSSとJtestの違いはコチラ

JtestをCI(継続的インテグレーション)環境へ組み込む

Jtestはコマンドラインインターフェースや各種ビルドツールのプラグインを用意しているため、簡単にCI環境へ組み込むことができます。

Jenkinsとの連携

JtestはGradleやMaven、Antのプラグインを用意しているため、それぞれのビルドツールのコマンドからJtestの解析を呼び出すことができます。Jenkinsのパイプラインからコマンドを呼び出すだけです。ビルドツールを利用していない場合でもコマンドラインからEclipseプロジェクトの解析を行うことができます
また、Jenkins用プラグインも用意されているため、解析実行後にJenkins上で静的解析の結果を確認することもできます。

Jenkins ならびに Jenkins CIは、Jenkins (http://jenkins-ci.org/>)に帰属します。また、Creative Commons Attribution 3.0 Unported license>に従い、利用しています。

GitHub, Azure DevOps, GitLabとの連携

Jenkinsだけでなく、GitHub, Azure DevOps, GitLabもJtestの連携もサポートしています。GitHub、Azure DevOpsには専用のGitHub Actionやプラグインが提供されており、Jtestの呼び出しから解析結果の読み込みまで行え、GitHub, Azure DevOps上で結果の確認が行えます。GitLabではGitLab固有のSAST フォーマットで解析結果を出力できるため、SAST フォーマットを読み込むことでGitLab上で結果の確認を行えます。



GitHub上でのJtest静的解析結果の確認画面イメージ

CI環境構築支援

CI(継続的インテグレーション)を実現するには、必要なCI環境の調査や導入手順、各ツールとの連携などの事前の準備や環境構築に、相応の工数と時間が必要になります。 テクマトリックスでは開発現場のご状況をお伺いした上で、Jtestを組み込んだCI(継続的インテグレーション)環境の構築から手順書の作成まで開発現場の状況にあった最適なCI環境を迅速にご提供することができます。

Java対応静的解析・単体テストツール Jtestに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ソフトウェアエンジニアリング事業部

    03-4405-7853

メールでのお問い合わせ
parasoft-info@techmatrix.co.jp

お問い合わせ

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。