目录
今天学习了一下sonar,想看看代码质量检查工具的使用。
安装前提:
需要jdk maven和数据库
不会安装的小伙伴可以
参考下面连接进行安装
jdk maven mysql(可以使用其他数据库)
需要注意的是SonarQube在7.9及以上版本都不支持MySQL了所以我安装的是6.7.7(长期支持版本)
我的数据库使用的是mysql,所以安装的是6.7.7长期支持版本。
将zip包scp到服务器
之后如果没有zip解压的工具首先安装zip的解压工具
yum install unzip
解压sonar的zip包
unzip sonarQubexxxx.zip
修改配置
配置文件再conf 下的sonar.properties文件
sonar.jdbc.username
sonar.jdbc.password
sonar.jdbc.url //找到自己对应的数据库
sonar.web.context
sonar.web.host
之后需要把sonarqube-6.7.7文件夹授权给一个用户(一般除了jdk等常用的之外,都不使用root用户启用)
创建用户sonar
useradd sonar
将sonar目录授权给sonar用户
chown -R sonar:sonar sonarqube-6.7.7
切换用户执行sonar服务
su sonar
到bin目录根据自己的需求选择目录下执行
jsw-license linux-x86-64 windows-x86-32
linux-x86-32 macosx-universal-64 windows-x86-64
我只是linux64位
执行命令
./sonar.sh start
输入 服务地址:端口 后就可以进入web端了,使用admin/admin进行登录。
查看日志
在logs下有
web sonar 和es的日志,遇到问题可以查询。
遇到的问题
sonar启动 Process exited with exit value [es]: 143
查询es日志
- can not run elasticsearch as root
因为es不允许使用root用户启动,所以运行sonar的时候必须要新创建其它用户,然后用创建的用户启动sonar。
- max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
这里要增加vm.max_map_count的值
vim /etc/security/limits.conf
pangkunkun1 hard nofile 65536
pangkunkun1 soft nofile 65536
在/etc/sysctl.conf中添加vm.max_map_count=262144后执行sysctl -p使配置生效。