C-STAT出力をJenkinsで視覚化
テクニカル・ノート 210616
アーキテクチャ:
All
コンポーネント:
general
更新日:
2021/09/27 7:12
はじめに
C-STATのメッセージは、コマンドラインからicstatを実行するか、Embedded Workbench IDEで検索することができます。
しかし、前回の解析と比較して、どれが「新規」メッセージで、どれが「修正済み」または「同一」のメッセージなのか、判別が難しい場合があります。
解説
このテクニカルノートでは、Warnings Next Generationと呼ばれるJenkinsのプラグインの使い方を説明します。Jenkinsプラグインを使うことにより、「新規」、「修正済み」、「同一」メッセージについて、前回の解析結果との比較が可能になります。
- Jenkinsプラグインは、多くの静的解析ツールに対応しています。
- このプラグインでは、C-STATの実行は行わず、結果の表示のみを行います。
- ソースファイルのメッセージは、ブラウザで直接、ソート、フィルタ、検証することもできます。
C-STAT出力の生成
Jenkins PipelineスクリプトでC-STATを最も簡単に実行するには、まず、 IarBuild (バージョン9.x以降)からコマンドファイルを生成します。
IarBuild <projectfile> -cstat_cmds <config>
このコマンドによって、 cstatcommands.txt ファイルが <config>/C-STAT ディレクトリに置かれます。
次に、以下のように icstat を実行してください。
icstat --db cstat.db commands <config>/C-STAT/cstatcommands.txt <options>
Jenkinsプラグインによる解析を可能にするため、 icstat の出力は log ファイルに保存することをお勧めします。
Warnings Next Generationプラグインの使用
続いて、プラグインを実行します。
recordIssues tools: [iarCstat(pattern: "<logfile>.txt")]
他にも、プラグインの公式ドキュメント( こちら)にプラグインの使用例が記載されています。
各プラグインコマンドは、Jenkinsのジョブを表示すると有効になる Pipeline Syntax メニューから生成することができます。 Sample Step として record Issues を選択、 Toolとして IAR C-STAT を選択して、 Generate Pipeline Script をクリックすると、選択したオプションを反映したコマンドを生成できます。
注:このプラグインでは、同一メッセージのフィルタリングが行われます。したがって、通常、プラグインからのメッセージ数は、C-STAT内のメッセージ数と異なります。これは、C-STATでは、ヘッダメッセージが、そのヘッダを含むすべてのソースファイルに伝搬されるために起こります。
まとめ
Jenkinsの Warnings Next Generation プラグインを使って、C-STATの解析結果を表示できます。これにより、メッセージ数の傾向を判断することができます。
全ての製品名は、それぞれの所有者の商標または登録商標です。