一、安装
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
今天的文章sonar教程_sonarpen国内怎么买「建议收藏」分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/69130.html