sonar scanner配置
这里记录如何配置sonar scanner扫描C/C++项目代码。话不多说,先上官网链接。
文章目录
- sonar scanner配置
- 1. 环境
- 1.1 SonarSource Build Wrapper
- 1.2 sonar-scanner
- 2. 使用
- 2.1 Compilation Database
- 2.2 执行`sonar-scanner`
- 3. 注意
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
的时候,确保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
生成不全