sonar2csv
sonar2csvとは
sonar2csvはSONARQUBE Software WebAPIからメトリクスデータをCSV形式で取得するコマンドラインツールです.
事前準備
事前にメトリクスを収集したいプロジェクトのソースコードに対して、SONARQUBE Software v6.2による解析を行ってください.
SONARQUBE Softwareでのメトリクス収集方法は 付録: SonarQube起動方法 を参照してください.
インストール
sonar2csvの実行ファイルと、それと同じディレクトリにtoml形式の設定ファイルを用意します.sonar2csvは下記コマンドによりインストールできます(要 Go(>=1.8)).
go get -u github.com/FujitsuLaboratories/COMEVIZZ/sonar2csv
config.toml
config.tomlにはSONARQUBE Softwareの接続情報を下記の設定内容を記述します。
[sonarqube]
url = "http://localhost:9000" # 稼働中のSONARQUBE Software ホストIP
resource = "063285ca8e14" # CSVとして収集する対象のSONARQUBE Software のリソースID
metrics = [ # 収集するSONARQUBE Software のメトリクスKey
"lines",
"bugs",
"violations"
]
metricsに指定するSONARQUBE SoftwareのメトリクスKey名はSONARQUBE Software WebAPIの GET api/metrics/search から確認出来ます.
使用方法
sonar2csvコマンドを実行すると,config.tomlに記述したメトリクス情報をoutput.csvファイルとして出力します.
toml設定ファイルパスは-config [path]で指定できます.
出力ファイルパスは-output [path]で指定できます.
sonar2csv -h
-config string
config file path (default "config.toml")
-merge string
csv file path for merging if you like (default "origin.csv")
-output string
output file path (default "output.csv")
既にメトリクスCSVファイルが存在する場合,既存のメトリクスCSVファイルとマージすることもできます.
マージする場合、元のメトリクスCSVファイルをorigin.csvという名前でsonar2csv実行ディレクトリに配置するか,-merge [path]オプションでメトリクスCSVファイルを指定してsonar2csvコマンドを実行することにより,マージされたCSVファイルを出力することもできます.
付録:SONARQUBE Software起動方法
SONARQUBE Software Server
SONARQUBE Softwareサーバーを起動します.
手順については公式サイトを参考にしてください.
Dockerを使用できる場合、SONARQUBE Software公式のDokcerイメージを利用すると便利です. library/sonarqube - Docker Hub
SonarQube Scanner
SONARQUBE Softwareで解析を行うためのサポートツールである SonarQube Scanner© を利用して、ソースコードの解析を実施します.
MavenやJenkinsからもSONARQUBE Softwareの解析を行えるため、既にSONARQUBE Softwareでの解析を行うことができている場合は SonarQube Scanner を使用する必要はありません.
Analyzing Source Code - Scanners - SonarQube
SonarQube Scannerの使い方については下記を参照してください.