小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


Jenkins2.xからcppcheckを実行してみたよ

はじめに

JenkinsからC++の静的解析ツールであるcppcheckを実行してみました。

  • Windows Server 2016(1607)
  • Jenkins 2.150.1
  • cppcheck 1.86

[改訂第3版]Jenkins実践入門 ――ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus)
佐藤 聖規 和田 貴久 新井 雄介 米沢 弘樹 山岸 啓 岩成 祐樹
技術評論社
売り上げランキング: 138,950

cppcheckのインストール

以下のページからcppcheckをダウンロードして、インストールします。
cppcheck.sourceforge.net

Jenkinsのcppcheckプラグインをインストールする

「Jenkinsの管理」をクリックします。
f:id:replication:20190106093927j:plain
「プラグインの管理」をクリックします。
f:id:replication:20190106094012j:plain
「利用可能」タブを選択し、フィルタに「cppcheck」を入力し、検索結果が表示されたらチェックを入れ、「再起動せずにインストール」をクリックします。
f:id:replication:20190106094044j:plain

ジョブの設定

Windowsバッチコマンドの実行で、cppcheckのパスの指定と、cppcheckでのソース解析を指示します。
f:id:replication:20190106095131j:plain
この時、cppcheckには--xmlオプションを指定して、xmlファイルに解析結果を出力するよう指示します。

set path=%path%;C:\Program Files (x86)\Cppcheck;

cppcheck C:\Users\Administrator\source\repos\ConsoleApplication1\ConsoleApplication1\*.cpp --xml --xml-version=2 . 2> cppcheck.xml

ビルド後の処理では、「Publish cppcheck result」を選択し、ファイル名に出力されるxmlファイルの名前を指定します。
f:id:replication:20190106100608j:plain
f:id:replication:20190106100714j:plain

以上で設定は完了です。ジョブを実行すると、cppcheckの解析結果がCppcheck Resultメニューから確認できます。
f:id:replication:20190106101027j:plain
チェックした結果エラーがあれば、以下のように表示されます。
f:id:replication:20190106101129j:plain