sonarqube代码质量管理平台搭建及使用

sonarqube是一个代码质量管理平台,可以定位代码中潜在的或者明显的错误,支持多种语言的代码审查,且有丰富的插件,方便集成使用。

分为三步走:

1.sonarqube搭建

2.sonarqube使用

3.sonarqube集成

 

sonarqube搭建

sonarqube官网:https://www.sonarqube.org/

最新版本是8.1,看官方文档的要求里 server要求jdk11,且数据库不支持mysql。

因测试平台,jenkins都部署在65那台机器上,我也不想将其jdk8换成jdk11,于是找了一个相对比较新的版本7.6

sonarqube7.6的安装包下载地址:

选择7.6的原因有两点:1.可以用原有的jdk8 2.可以用原有的mysql5.7

https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.6.zip

sonarqube代码质量管理平台搭建及使用_第1张图片

sonarqube安装

1.将下载下来的7.6版本(建议先本地下载再传到服务器上去)解压缩

unzip sonarqube-7.6.zip

 

2.将解压缩后的文件移动到/usr/local/   下面,并且文件夹的名字变为sonarqube

mv sonarqube-7.6 /usr/local/sonarqube

3.启动sonarqube

进入/usr/local/sonarqube/bin/linux-x86-64    bin的目录下面对应不同的操作系统,可根据实际的操作系统进行选择进入

./sonar.sh start

 

这时会提示started

但实际上并没有启动成功,可以去查看日志,但是网上其他很多文章也说过这个问题,其实就是sonarqube不能通过root来启动,需要创建用户

4.创建非root用户并启动

    1--创建用户
    adduser sonarUser
    2--设置密码 需要输入两次,要复杂一点
    passwd XXXXr

   3---修改sonar的目录和用户组为sonarUser(/usr/local目录下面)
   chown -R sonarUser:sonarUser sonarqube
   4--以sonarUser执行命令
   su sonarUser
  ./sonar.sh start
   重启和停止:

  • ./sonar.sh stop 停止服务
  • ./sonar.sh restart 重启服务

5.访问sonar

http://x.x.x.x:9000

但是这个时候,首页会给你报个数据库的错误,当然因为并没有创建数据库的原因

6.创建sonar数据库

 

创建数据库 sonar
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

只要创建sonar数据库就行了,表格sonar会自动进行创建

修改sonar的数据库配置文件
cd /usr/local/sonarqube/conf
vim sonar.properties

以下内容都是配置文件里面预留的,查找相关内容,将#去掉,配置成实际的

需要修改的地方

1.数据库的ip,端口

2.数据库的用户名和密码

以上配置完成后,重启sonar

  • ./sonar.sh restart 重启服务

访问sonarhttp://x.x.x.x:9000

这次因为配置了数据库,所以第一次页面启动比较慢,他需要去初始化数据库的表格

至此sonarqube算是搭建完成!

 

sonarqube使用

默认登录用户名密码为admin,admin

1.汉化 安装中文插件,完成后会提示你重启,重启下就变成中文了。

sonarqube代码质量管理平台搭建及使用_第2张图片

2.拿商家端做个实验

因商家端之前我拿jenkins部署过,所以相对比较了解,它是通过maven去编译的

1)创建一个项目,名称啥的可以随便填,但是为了方便标识,最好就用可以代表项目的名字

sonarqube代码质量管理平台搭建及使用_第3张图片

2)创建令牌,一步步执行就行了

sonarqube代码质量管理平台搭建及使用_第4张图片

sonarqube代码质量管理平台搭建及使用_第5张图片

3)选择语言及构建方式,点击代码区域右上角的复制

sonarqube代码质量管理平台搭建及使用_第6张图片

4)将复制的内容放到服务器上项目的根目录下面执行,执行完成后会自动将报告上传到sonarqube

sonarqube代码质量管理平台搭建及使用_第7张图片

sonarqube代码质量管理平台搭建及使用_第8张图片

 

坑:

maven命令执行完成时报错,报告删除失败:

原因是mysql对最大上传文件的大小做了限制4M,实际报告有68M

方法:修改mysql配置文件

my.cnf 将max_allowed_packet=128M 可以根据实际情况进行设置

记住1:my.cnf设置完成后,一定要将mysql重启service mysqld restart 

记住2:sonar也必须重启

 

以上都做完,再重新执行下maven命令就可以了。

 

sonarqube集成

这部分后面在写,可以通过jenkins或者gitlabci都可以进行集成

 

你可能感兴趣的:(sonarqube代码质量管理平台搭建及使用)