sonar小白式入门

测试 专栏收录该内容
28 篇文章 3 订阅

一、安装

1、sonar安装

下载地址:http://www.sonarqube.org/downloads/

我下载的是7.7版本,如果是数据库打算用mysql的,建议跟我一样选个老版本

绿色版的,解压就可以用了。如果想要修改默认端口的,可以修改\conf\sonar.properties配置

浏览器直接访问本地9000端口,可看下如下界面

2、配置mysql数据库

下载地址:https://dev.mysql.com/downloads/mysql/5.7.html

我下载的是5.7的老版本,建议入门的同学跟我选一样的版本

下载解压就可以了

然后新建data空文件夹,用来存放数据;再新建mysql.ini文件,用来初始化数据库时使用

my.ini文件内容如下

[mysql]

# 设置mysql客户端默认字符集
default-character-set=utf8 

[mysqld]

#设置3306端口
port = 3306 

# 设置mysql的安装目录
basedir=D:/work/mysql/mysql-5.7.32-winx64

# 设置mysql数据库的数据的存放目录
datadir=D:/work/mysql/mysql-5.7.32-winx64/data

# 允许最大连接数
max_connections=200

# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8

# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

max_allowed_packet = 67108864

注意:此处的max_allowed_packet = 67108864非常重要

在cmd中执行初始化,此命令无返回信息

mysqld --initialize-insecure --user=mysql

然后再执行安装命令,注意-file参数指向my.ini文件,非常重要,不然前面配置的max_allowed_packet = 67108864将不会生效

mysqld --install MySQL --defaults-file="D:\work\mysql\mysql-5.7.32-winx64\my.ini"

注意:命令不要随便加空格,不然会有奇怪的问题出现

启动mysql

net start mysql

默认的root账户是没有密码的

到这里数据库安装就完成了

接下来配置数据库,首先是新建一个名为sonar的库

然后配置用户root密码为111111

接下来在sonar的配置文件中找到conf/sonar.properties文件

增加如下内容

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

然后重启sonarQube,再访问http://localhost:9000/时就可以使用admin/admin登录。且在数据库中会自动新建几十张表

3、安装配置sonar-scanner

下载地址:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/

同样的,我下的是3.3的版本。解压后直接使用

修改\conf\sonar-scanner.properties配置文件

增加如下内容

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

将此bin目录设置为环境变量

测试环境变量是否配置成功

二、使用

首先下载待检测的项目,此处已java项目为例

下载项目到本地

src为java源文件,target为编译后的class文件

在项目目录下新建sonar-project.properties文件,

sonar-project.properties内容如下

#sonarqube服务器地址
sonar.host.url=http://localhost:9000
#sonarqube用户名
sonar.login=admin
#sonarqube密码
sonar.password=admin
#项目唯一标识(不能出现重复)
sonar.projectKey=qbxxpt202104081414
#项目名称
sonar.projectName=qbxxpt202104081414
#源代码目录
sonar.sources=D:/test/code/qbxxpt-ht/src/main/java
#编译生成的class文件的所在目录
sonar.java.binaries=D:/test/code/qbxxpt-ht/target/classes
#版本号
sonar.projectVersion=0.0.1-SNAPSHOT
#语言
sonar.language=java
#源代码文件编码
sonar.sourceEncoding=gbk

设置完成后,启动sonarqube

然后在项目目录下执行sonar-scanner,或者sonar-scanner >D:\test\0408.log 2>&1将日志重定向到txt中方便查看

完成时末尾日志

此时再访问http://localhost:9000/,将看到已经分析完成的项目,如果项目没有结果展示,可能正在分析中,等一下就出现了

三、踩到的坑

1、最新版本的sonar不适配mysql、老版本的sonar不适配java1.8,mysql的新版本也不行,

解决方案:使用sonar7.7+sonar-scanner3.3+mysql5.7+jdk11.0组合,万事大吉

2、使用sonar-scanner检查完成之后,日志中总是提示上传report失败,而在sonarQube界面只能看到项目,看不到结果。

解决方案:数据库单次写入量默认为4M,将其改为64M,也就是前面说的,在my.ini中添加max_allowed_packet = 67108864,重新初始化安装mysql即可

停止、删除mysql服务的命令如下

net stop mysql
sc delete MySQL

 

  • 0
    点赞
  • 4
    评论
  • 2
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

评论 4 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

六脉神贱

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值