Sonarqube代码质量标准监测安装与使用

一、sonarqube版本

Sonarqube-6.7.1

二、MySQL的安装

参考【运维之路-常用软件的安装(CentOS7+JDK+Tomcat+Nginx+Redis+MySQL).docx】

三、创建sonar数据库

在上一步安装的MySQL中创建名为sonarqube的数据库(UTF-8编码)。

四、安装Sonarqube

1、解压缩

unzip sonarqube-6.7.1.zip -d sonarqube

2、修改sonarqube配置

vim sonarqube/conf/sonar.properties

修改如下内容:

# db config

# 加粗的是我们刚才创建的sonarqube数据库名称。我这里是mysql。它支持多种类型db。

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

# 访问路径,/代表根目录,我这里配置的/sonarqube

# 端口号

3、启动sonarqube

启动之前先看下bin目录结构

可以看到许多版本,我这里是Linux-X86-64

启动命令参数:

启动:

sh bin/linux-x86-64/sonar.sh start

注意:

第一次启动稍微慢点,因为他需要自动建表和做一些相应的初始化工作。

4、查看日志

tail -f sonarqube/logs/sonar.log

5、验证是否启动成功

http://192.168.73.154:9000/sonarqube/

为什么我是中文的?因为我汉化了,我下一步就会讲到。

五、使用Sonarqube

1、用户名密码

默认为admin/admin

2、如何汉化

直接将我的sonar-l10n-zh-plugin-1.18.jar扔到sonarqube安装目录的extensions/plugins/下面,然后重启sonar服务即可。

sh bin/linux-x86-64/sonar.sh restart

这里需要注意的是:不同版本的sonar安装方式或者汉化jar包版本不同,我这里是目前最新版本。

3、Maven配置

用sonar质检工具,和maven相结合简直天衣无缝(和ide结合我感觉不好用),前提是需要在maven的settings.xml里的标签下配置如下

sonar

true

jdbc:mysql://192.168.73.154:3306/sonarqube?useUnicode=true&characterEncoding=utf8

http://192.168.73.154:9000/sonarqube

4、执行maven命令

mvn clean install sonar:sonar

此命令会将你所打包的全部代码都上传到sonar质检平台上进行分析。

可以先粗略的看下我的:

他能帮我们分析出有多少bug,有多少漏洞,有多少TODO等等等等信息。

5、六大菜单

6、配置菜单

可以分配下权限和监控下项目的状态。分配用户权限是为了能够将问题指派给此用户,否则只有admin的话,那么问题无法指派,都只能是分配给admin。

7、质量门菜单

一般默认就好,是把控质量等级的。

8、质量配置菜单

各种语言,我们这里是java。

我们可以看到,这里有个内置的配置项。

一共有292个配置项,我们代码通过命令mvn clean install sonar:sonar后就会将代码上传到质检平台并分析,这时候的分析就是通过默认配置来分析的,也就是这里的292项。

我们也可以新增配置组,不走默认的sonar way。

我们可以为我们新建的配置组建立规则,也可以将其设置为默认。

9、代码规则菜单

没啥说的,java一共有440个规则项。

1、问题菜单

可以点进去某个问题进行详细查看

11、项目菜单

六、简单总结

使用说明的比较简单粗糙,但是基本上解释了每个菜单是做什么,平时只需要会配置maven设置,会用命令上传到sonar质检平台,会分析规则菜单和能够解决代码中监测出来的问题即可。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180329A0B6GL00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励