如何使用SonarQube来优化你的代码
0. 简介
最近一直苦于自己写的代码的开发的质量不高,急需要一种可以适用于C++代码的代码质量检测工具,这里发现SonarQube可以很好的适用于Ubuntu环境,并能够很好的与Gitlab兼容,从而保证代码的敏捷式开发。
1. SonarQube安装
-
ubuntu中安装jdk
详细过程可参考:https://blog.csdn.net/qq_26709459/article/details/80466239 -
ubuntu中安装mysql
详细过程可参考:https://blog.csdn.net/qq_26709459/article/details/79115723安装成功之后,新建数据库"sonarqube"(数据库名称也可自己定义)。
# 创建用户 sonarqube sudo adduser sonarqube # 切换到sonarqube用户 su sonarqube
-
下载并安装sonarQube
注:建议运行内存在2G或2G已上。-
下载sonarQube
下载地址:https://www.sonarqube.org/downloads/
-
这里我们需要选择Community版本下载、解压并安装
sudo unzip sonarqube-7.3.zip
-
配置SonarQube
编辑$SONAR_HOME/conf/sonar.properties文件sonar.jdbc.username=**your_name** sonar.jdbc.password=**your_password** sonar.jdbc.url=jdbc:mysql://localhost:3306/your_database_name?# 后续不用更改 sonar.web.javaOpts=-Xmx1024m -Xms512m -XX:+HeapDumpOnOutOfMemoryError # 如果你想分配sonar更多的内存 sonar.path.data=**/var/sonarqube/6_5_7/data #数据路径,保证sonarquebe可以读写 sonar.path.temp=**/var/sonarqube/6_5_7/temp #临时文件路径,保证sonarquebe可以读写 sonar.web.context=/ #路径 sonar.web.port=9000 #端口
-
启动
进入"bin"目录查看文件:./$SONAR_HOME/bin/linux-x86-64/bin/sonar.sh start
-
在浏览器中输入http://your_server_address:9000/,查看sonarqube是否能够正常打开。然后在
configure->market
中搜索chinese pack,点击安装。默认账号和密码:
账号:admin
密码:admin
-
2. C++插件安装
-
安装C++插件,由于sonar自带的CFamily收费,但是Github上有大神公开了免费的版本sonar-cxx。
-
将下载好的插件移动到sonar插件目录,然后重启服务,并进入
localhost:9000/updatecenter
查看。
bash mv sonar-cxx-plugin* /etc/sonarqube-5.6.7/extensions/plugins
-
创建Quality Profiles
在sonarqube web页面中,进入Quality Profiles,创建Quality Profiles,选择语言为“c++”
-
添加现有规则
进入Rules页面,左侧菜单选中“Repository”,可以看到sonar-cxx插件自带(sonar自带?)有多种代码检测工具,包括最强大的PC-lint
-
点击选中“c++”相关的分析工具,在整个网页右上角点击“Bulk Change”,将选中的规则应用至上一步创建的Quality Profile(cpp-test)中。
-
选择刚刚添加的规则,点击应用,等待一下即可。
激活完毕后,可以在这里看到规则数量。
3. 本地测试
- 安装Cppcheck和sonar-scanner
wget https://github.com/danmar/cppcheck/archive/1.89.zip
wget https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.0.3.778-linux.zip
- 下载完后,解压出来,并重新命名sonar_scanner和配置sonar.properties
#重命名为sonar-scanner
mv sonar-scanner-cli-3.0.3.778-linux sonar-scanner
# 修改sonar_scanner.properties
[sonar@bogon ~]$ cd sonar-scanner/conf/
[sonar@bogon conf]$ ls
sonar-scanner.properties
[sonar@bogon conf]$vim sonar-scanner.properties
#把注释去掉就行
sonar.host.url=http://localhost:9000
sonar.sourceEncoding=UTF-8
- 将添加sonar、cppcheck、sonar-scanner添加到环境变量中
vim /etc/profile
#添加一下代码(根据自己路径修改)
export SONAR_HOME=/home/sonar/sonarqube-7.1
export SONAR_SCANNER_HOME=/home/sonar/sonar-scanner
export CPPCHECK_HOME=/home/sonar/cppcheck-1.88
export PATH=$PATH:$SONAR_HOME:$SONAR_SCANNER_HOME/bin:$CPPCHECK_HOME
source /etc/profile
- 登录后台,并创建一个令牌
- 测试例子,在扫描配置项里面做如下配置
…详情请参照古月居
- 点赞
- 收藏
- 关注作者
评论(0)