EN JP CN

TeamCity クイックスタートガイド

TeamCity クイックスタートガイド

TeamCity は、継続的な統合、レポート作成、並列処理のためのソフトウェアビルドを提供する、商用ビルドサーバーアプリケーションです。Klocwork 解析ビルドを TeamCity サーバーと統合すると、これらの各機能を Klocwork 解析と組み合わせることができます。

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

各 TeamCity ビルド構成によってお使いのビルドの設定が定義されます。これには、ビルドファイルパス情報とプロジェクト情報だけでなくビルド実行ツールタイプも定義するビルドステップ、ビルドトリガー、失敗条件、およびビルドパラメーターが含まれます。ビルド構成の作成の詳細については、TeamCity ドキュメンテーションを参照してください。

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

まだ作成されていない場合には、TeamCity でプロジェクトを作成してください。次に、ビルドの詳細を注意して指定して、通常どおりにビルド構成を作成します。ビルド構成の一環として、次のステップを実行する必要があります。

  1. 左パネルで [Version Control Settings (バージョンコントロール設定)] をクリックして、[Checkout Options (チェックアウトオプション)][VCS checkout mode (VCS チェックアウトモード)] ドロップダウンから [Automatically on agent (if supported by VCS roots) (エージェントで自動的に実行 (VCS ルートでサポートされている場合))] を選択します。

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

TeamCity では、ビルド操作の実行にビルドエージェントが使用されます。複数のビルドエージェントを使用して、多数のビルドを並列実行できます。ビルドエージェントでは通常、ソースコードがチェックアウトされて、ビルド環境が初期化され、ソフトウェアビルドが実行されます。Klocwork 解析の実行に使用される各ビルドエージェントを構成する必要があります。Klocwork 静的解析ビルドステップは、必要なコマンドによって既存のビルドステップを自動的にラップし、解析を実行します。解析ステップ自体には、これらのステップを含めない場合に、ビルドステップを無視するオプションがあります。

  1. TeamCity でプロジェクトリストにアクセスして、構成するプロジェクトを選択します。ドロップダウンで [設定の有効化] をクリックします。
  2. [Build Steps] をクリックします。
  3. [Add Build Step] ボタンをクリックし、ランナーの種類として [Klocwork Static Analysis] を選択します。
  4. Klocwork サーバー情報の入力サーバーはローカルマシンである必要はありません。Klocwork サーバーは、ビルド構成のために指定することが必要です。そのビルド構成が Klocwork サーバーにコンタクトして、解析用のプロジェクト構成を取得します。
  5. 次に、[認可] をクリックし、プロジェクトを表示できる、いずれかのユーザーとしてログインします。プロジェクトは、TeamCity サーバーと Klocwork サーバーの両方に存在する必要があります。プロジェクト名が異なる場合は、そのこともここで指定します。

  6. 次に、何らかの関連ビルド失敗条件を設定することができます。静的解析が不完全な場合に失敗するようにビルドを構成すること、または、任意の数の失敗のシナリオをキャプチャするためにの正規表現を作成することができます。デフォルトでは、CI ビルドは何らかの指摘が検出されると失敗します。以下の画像は、完全に構成されたビルドステップを示します。

kwdeploy を使用して、サーバーと TeamCity ビルドエージェント間でカスタムチェッカーを同期させることができます。kwdeploy 実行可能ファイルは、ビルドエージェントの次の場所にあります。<teamcity_build_agent_root>\tools\klocwork\<platform>\bin\kwdeploy.exe

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

<teamcity_build_agent_root>\tools\klocwork\windows\bin\kwdeploy sync --url http(s)://<Klocwork_host>:<port>

ビルド失敗の有効化

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

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

統合を確認するには、ビルドを実行して、TeamCity で JSON の出力を確認します。

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