sonar scanner配置
这里记录如何配置sonar scanner扫描C/C++项目代码。话不多说,先上
官网链接
。
文章目录
1. 环境
对于C/C++项目,如官网所言,我们需要两个工具(如下):
-
SonarSource Build Wrapper
-
Compilation Database
-
Sonar Scanner
1.1 SonarSource Build Wrapper
Build Wrapper最好从
你的Sonarqube服务器下载
,这样可以确保服务器和Build Wrapper插件版本是匹配的。
-
Linux
{SonarQube Server URL}/static/cpp/build-wrapper-linux-x86.zip
-
macOS
{SonarQube Server URL}/static/cpp/build-wrapper-macosx-x86.zip
-
Windows
{SonarQube Server URL}/static/cpp/build-wrapper-win-x86.zip
1.2 sonar-scanner
sonar-scanner的安装,请参考
官网
.
对于Windows用户而言,sonar-scanner是免安装的,可直接使用。
2. 使用
2.1 Compilation Database
对于
Compilation Database
不需要安装,他是
1.1 Build Wrapper
和编译器的产物,最后调用
Sonar Scanner
的输入。
// example for linux
build-wrapper-linux-x86-64 --out-dir build_wrapper_output_directory make clean all
// example for macOS
build-wrapper-macosx-x86 --out-dir build_wrapper_output_directory xcodebuild clean build
// example for Windows
build-wrapper-win-x86-64.exe --out-dir build_wrapper_output_directory MSBuild.exe /t:Rebuild /nodeReuse:False
2.2 执行
sonar-scanner
sonar-scanner
执行
sonar-scanner
的时候,确保
Compilation Database
和
sonar-project.properties
在同一文件夹。最后,run
sonar-scanner
。
- Linux
sonar-scanner
- Windows
./sonar-scanner.bat
3. 注意
在执行
sonar-scanner
的时候,有时候会失败,有很多原因。
-
sonarqube服务器没有找到
可以查看,你的
sonar-scanner
的配置文件,如下:
其中
sonar.host.url
是你服务器的url,
sonar.login
则是你用户生成的一个
Access Token
(因为它,你才可以访问你的sonarqube服务器)。 -
sonar-scanner
没有找到
Compilation Database
-
编译失败了,导致
compilation Database
生成不全