Sonarqube扫描C/C++语言的项目代码

​Sonarqube扫描C/C++语言的项目代码
这篇文章主要介绍如使用Sonarqube扫描C/C++的项目代码。

提前说明,本文的方式只能扫描出 代码重复度以及大小、复度等指标。

前提条件:sonar相关服务已就绪,具体搭建流程详见下述文章:

Sonarqube代码扫描之Windows本地搭建

Sonarqube代码扫描之linux搭建

Sonarqube代码扫描之jenKins+git持续集成

Sonarqube代码扫描之增量扫描

Sonarqube+jenkins+pipeline持续集成

社区版本的SonarQube服务不支持扫描C/C++语言的项目,具体点讲就是没有提供社区版的C/C++扫描插件,所以搞定这个插件基本上就搞定这个扫描工作了。

共分两步:安装c/c++插件、安装Cppcheck

(1).安装c/c++插件

好在有大佬写出了针对于c/c++的扫描插件,详见github地址:

https://github.com/SonarOpenCommunity/sonar-cxx/releases
从上述地址下载对应于SonarQube版本的插件即可,我的sonar服务版本是v7.1,下载的c/c++插件版本是v1.3.0,亲测可用。

下载之后将该插件安装到SonarQube目录下的/extensions/plugins目录下,重启SonarQube服务,这时可在sonar的web页面代码规则目录看到c++相关信息。

(2).安装Cppcheck

光安装上面的插件应该还不能进行有效的扫描工作,需要安装一个Cppcheck工具,下载地址如下:

http://cppcheck.sourceforge.net/
将该插件配置到环境变量

然后在扫描配置项里面做如下配置

sonar.projectKey=项目名称   #sonar平台中相对应项目的key
sonar.projectName=项目名称  #sonar平台中相对应项目的名字
sonar.projectVersion=1.0   #sonar平台中相对应项目的项目版本
sonar.sources=./           #sonar检测的源文件目录,‘.’表示当前根目录下的所有文件目录
sonar.language=c++         #sonar检测的编程语言种类
sonar.sourceEncoding=UTF-8 #sonar平台中相对应项目的编码格式

执行扫描即可获得结果。

总结:本文主要介绍如使用Sonarqube扫描C/C++的项目代码。


版权声明:本文为cestlavieqiang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。