EN JP CN

Jenkins クイックスタート

Jenkins クイックスタート

Jenkins は、継続的インテグレーション、レポート作成、並列ソフトウェア ビルドを行う、オープンソース継続的インテグレーション アプリケーションです。Klocwork 解析ビルドを Jenkins サーバーと統合すると、これらの各機能を Klocwork 解析と組み合わせることができます。

前提条件
  • Klocwork サーバーがインストールされ、起動されていることが必要です。
  • プロジェクト構成が、ビルド用に構成されていることが必要です。

この例では、Jenkins ジョブが既に作成されており、アクティブなビルド構成がある場合とない場合の両方があることが前提となっています。

各 Jenkins ビルド構成でお使いのビルドの設定を定義します。これには、ビルドファイルパス情報とプロジェクト情報だけでなくビルド実行ツールタイプも定義するビルドステップ、ビルドトリガー、失敗条件、およびビルドパラメーターが含まれます。ビルド構成の作成の詳細については、Jenkins ドキュメンテーションを参照してください。
注: 最初の解析実行はベースラインを設定します。このため、結果は表示されません。新規および修正済みの指摘は、それ以降のビルドに表示されます。

プロジェクト/ビルド構成を作成する

まだ作成していない場合は、Jenkins でジョブを作成してください。次に、ビルドの詳細を注意して指定して、通常どおりにビルド構成を作成します。

プロジェクトでKlocwork 静的解析を有効にする

プロジェクトで静的解析を有効にするために、kwinject 用のビルド ラッパーを有効にし、解析を実行するために Klocwork ビルド ステップを追加する必要があります。Jenkins では、ビルド操作の実行にスレーブ エージェントを使用します。複数のスレーブ エージェントを使用して、多数のビルドを並列実行できます。ビルドエージェントでは通常、ソースコードがチェックアウトされて、ビルド環境が初期化され、ソフトウェアビルドが実行されます。Klocwork 解析の実行に使用される各スレーブ エージェントを構成する必要があります。Klocwork 静的解析ビルドステップは、必要なコマンドによって既存のビルドステップを自動的にラップし、解析を実行します。解析ステップ自体には、これらのステップを含めない場合に、ビルドステップを無視するオプションがあります。
注: Klocwork 解析は Freestyle プロジェクトのみで動作します。
  1. Jenkins でジョブリストにアクセスして、構成するプロジェクトを選択します。ここから、[構成] をクリックします。
  2. [ビルド環境] というラベルが付いたセクションまで下にスクロールします。
  3. [Klocwork ビルド ラッパー] というラベルが付いたボックスをクリックして、kwinject を有効にします。kwinject に追加設定を構成する必要な場合は、[詳細設定] をクリックして、必要に応じて追加の引数を入力します。
  4. プロジェクトで Klocwork 解析を有効にするために、[Klocwork 解析を実行] と呼ばれるビルドステップを追加します。
  5. [Klocwork ツール構成] セクションに、サーバーとプロジェクトの情報を入力します。サーバーはローカルマシンである必要はありません。解析用のプロジェクト構成を取得するには、ビルド構成のために Klocwork サーバー URL を指定する必要があります。必ず Klocwork サーバーで指定されているものと正確に同じプロジェクト名を使用します。Kwinject でラップされたビルドステップを有効または無効にすることもできます。
    注: ビルドステップのシーケンスを変更する場合は、Kwinject でラップされたビルドステップをすべてクリアして、実行したい順番で選択してください。
  6. 次に、[Klocwork の詳細設定] をクリックし、プロジェクトを表示できる、いずれかのユーザーとしてログインします。

  7. (オプション)ライセンスホストの詳細を指定します。Klocwork サーバーで構成されているもの以外のライセンスサーバーを使用する場合のみ、これを指定する必要があります。
  8. 何らかの関連したビルド失敗条件を設定することができます。静的解析が不完全な場合に失敗するようにビルドを構成すること、または、任意の数の失敗のシナリオをキャプチャするためにの正規表現を作成することができます。
  9. Klocwork 解析結果を表示するには、プロジェクト構成を編集して、[Klocwork 静的解析を発行] と呼ばれるビルド後アクションを選択します。構成を保存すると、左側のメニューに [Klocwork 静的解析] が表示されます。それぞれのビルドのあとで、このリンクにアクセスするか、ビルド結果ページから解析結果を表示できます。
    重要: 変更する場合、設定ページを保存して、再度開くと変更が反映されます。

kwdeploy を使用して、サーバーと Jenkins スレーブ間でカスタムチェッカーを同期させることができます。kwdeploy 実行可能ファイルは、スレーブの次の場所にあります。<Remote root directory>\klocwork\tools\bin\kwdeploy

たとえば、次のようになります。

<Remote root directory>\klocwork\tools\bin\kwdeploy sync --url http(s)://<Klocwork_host>:<port>

ビルド失敗の有効化

何らかの新しい欠陥が見つかったときにビルドを失敗させるには、解析中に欠陥が発見された場合にビルドに失敗マークを付けるビルド パラメーターを Jenkins に追加します。下図は、JSON ファイルに 1 つまたは複数の新しい指摘が含まれている場合に、ビルドが失敗するように設定されている Jenkins の例を示しています。検出された指摘には、前回のビルド以降の新しい指摘、および前回の成功したビルド以降の失敗したすべてのビルドの指摘が含まれます。ビルドが失敗しない設定を選んだ場合、指摘のリストには最新のビルドで検出された指摘のみが含まれます。

ビルドを実行して結果を Klocwork で確認する

統合を確認するには、ビルドを実行して、Jenkins で JSON の出力を確認します。 ボタンを使用すると、マシンで開いている IDE で指摘を開くことができます。

サポートされている IDE の指摘にアクセスするには、別の手順が必要です。
  • IDE はすでに起動している必要があります。
  • Klocwork デスクトップ解析プラグインのインストールが必要です。
  • 関連プロジェクトを開いてください。
  • 指摘を含むファイルは前回の解析以降、変更を加えないでください。
また、Eclipse および Klocwork Desktop では、指摘をインポートする前にローカル解析を実行する必要があります(プロジェクトを開くたびにこの操作が必要です)。
注: 指摘を更新する場合、インポートされたものと同じ欠陥がマッピングされるローカルの指摘がある場合、更新情報は統合されません。サーバーの指摘を更新すると、サーバーのステータスのみが変更されます。次の CI のビルド以降、更新情報がアップデートされます。

ログインして指摘を更新する

Jenkins のプロジェクトステータスぺージに表示される[ログイン] ダイアログで、Klocwork サーバーに対してユーザアカウントを検証できます。Klocwork サーバーに当該ユーザーが存在する場合、トレースバックや行番号など指摘の詳細をサーバーから取り込むことができます。また、ログインすると、最新の CI ビルドで見つかった各指摘の隣に [編集] ボタンが表示されるので、指摘のステータスを更新したり、コメントを追加できます。
注: 指摘を更新した後は、その変更は次回の CI ビルドまで適用されませんたとえばある指摘を「問題なし」と設定した場合、次回のビルドが実行されるまで、Jenkins 内の指摘リストのそのステータスは変更されません。