小さい頃はエラ呼吸

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


SonarQube7.5でC++コードを静的解析してみる

はじめに

SonarQubeでC++コードを静的解析してみました。

  • SonarQube 7.5
  • SonarQube Scanner 3.3
  • sonar-cxx Plugin 1.2.1
  • JRE Version 8 Update 201

ソフトウェアのダウンロードとインストール

1.SonarQubeは以下のページからダウンロードして、"C:\sonarqube-7.5"に展開します。
www.sonarqube.org

2.Sonar Runnerは以下のページからダウンロードして、""C:\sonar-scanner-3.3.0.1492-windows""に展開します。
docs.sonarqube.org

3.JREのダウンロード
最新のJREを以下のページからダウンロードします。
www.java.com

4.C++プラグインのダウンロード
以下のページ(画面最下部)からsonar-cxx-plugin-1.2.1.1569.jarをダウンロードして、C:\sonarqube-7.5\extensions\pluginsにコピーします。
github.com

SonarQubeの起動

以下のバッチファイルをダブルクリックしてSonarQubeを起動します。

C:\sonarqube-7.5\bin\windows-x86-32\StartSonar.bat

ブラウザからhttp://localhost:9000/にアクセスします。
f:id:replication:20190120224427p:plain
ログインIDとパスワードは「admin」でログインします。
f:id:replication:20190120224445p:plain
最初にtokenを生成するためのキーを聞かれます。(適当に決めて良いです)
f:id:replication:20190120224841j:plain
Continueをクリックします。
f:id:replication:20190120225313j:plain

SonarQubeの日本語化

Marketplaceメニューを開き、検索ボックスに「japanese」と入力すると、日本語化パックが検索にヒットするので、インストールします。
SonarQubeを再起動するか問われるので、再起動すると日本語化されます。
f:id:replication:20190127132724j:plain

コード解析を行う

1.C:\sonar-scanner-3.3.0.1492-windows\bin配下にsrcというフォルダを作って、静的解析対象のソリューションを配置します。

コマンドプロンプトでC:\sonar-scanner-3.3.0.1492-windows\binに移動し、以下のコマンドを実行します。

sonar-scanner.bat -D"sonar.projectKey=replication" -D"sonar.sources=src" -D"sonar.host.url=http://localhost:9000" -D"sonar.login=最初にログインした時に生成されたトークン"

EXECUTION SUCCESSが表示されたら解析成功です。
f:id:replication:20190127134119p:plain

SonarQubeのダッシュボード上にプロジェクトが追加され、解析結果を確認することができます。
f:id:replication:20190127134301p:plain