sonarQube详细介绍看我这篇文章:代码分析工具 - SonarQube_单椒煜泽的博客-CSDN博客_代码分析工具
SonarQube下载地址:Download | SonarQube
Windows环境从零搭建SonarQube 7.4(稳定版) - 简书
1. Linux的安装流程:
1) 上传文件及解压
(我这里是上传到了/opt/sonar目录,也可上传到/usr/local目录)
unzip sonarqube-9.7.0.61563.zip
2)创建用户
useradd sonar
passwd sonar
赋予权限
chown -R sonar.sonar /opt/sonar/sonarqube-9.7
3)切换用户,启动SonarQube
su sonar
cd /opt/sonar/sonarqube-9.7/bin/linux-x86-64
./sonar.sh start
如果报错了可以在 /opt/sonar/sonarqube-9.7/logs 路径下看日志。
如:
less /opt/sonar/sonarqube-9.7/logs/web.log
4)浏览器测试
(端口在 sonar.properties 文件中配置。sonar web 默认为9000,search默认为9001。根据自己需求,可不修改)
浏览器测试地址:localhost:9000
用户名:admin
密码:admin
2. 汉化
汉化插件包下载:Releases · xuhuisheng/sonar-l10n-zh · GitHub
汉化包有版本对应的,版本不对应汉化会失败。jar包下载好后,直接扔到 /extensions/plugins(我的目录是/opt/sonar/sonarqube-9.7/extensions/plugins)目录夹下(记得修改下 Jar 包的权限,不然 sonar 用户可能读不到),重启sonar即可。
3. 配置数据库
(因为SonarQube有内置数据库,如果只是简单的试试sonarQube的话,这一步也可以省略)
#修改配置:sonar.properties
[sonar@-uat conf]$ vim /opt/sonar/sonarqube-9.7/conf/sonar.properties
#如需要自定义端口 需要更改端口 sonar web 默认为9000 search默认为9001。根据自己需求,可不修改
sonar.web.port=60001
# sonar表示数据库名字
sonar.jdbc.url=jdbc:postgresql://localhost/sonardatabase?currentSchema=public
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
修改配置文件之后重启 sonarQube。
我这里重启之后报错了:
2022.11.02 12:24:58 ERROR es[][o.e.b.Bootstrap] node validation exception
[2] bootstrap checks failed. You must address the points described in the following [2] lines before starting Elasticsearch.
bootstrap check failure [1] of [2]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
bootstrap check failure [2] of [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
2022.11.02 12:24:58 INFO es[][o.e.n.Node] stopping ...
2022.11.02 12:24:58 INFO es[][o.e.n.Node] stopped
解决:
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
# 每个进程最大同时打开文件数太小,可通过下面2个命令查看当前数量
ulimit -Hn
ulimit -Sn
修改/etc/security/limits.conf文件,增加配置,用户退出后重新登录生效,注意带* 号
[root@-uat ~]# vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
修改 /etc/sysctl.conf 文件,添加vm.max_map_count参数。
[root@-uat ~]# vim /etc/sysctl.conf
vm.max_map_count = 262145
[root@-uat ~]# sysctl -p
重启sonarQube。
可以看到配置的数据库中 sonar 已经创建了很多表:
进入到页面之后,底部的数据库提示也消失了。
ok,数据库集成成功。