一、说明
1、业务代码写多了,就想看看写的代码怎么样
2、之前的公司,交付前对代码都有质量要求;现在就想自己搞一搞
3、只写代码,会死在代码上
4、同学,祝你好运
二、准备工作
1、下载安装包
1)官网
https://www.sonarqube.org/downloads/
2)直接下载
https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.4.0.54424.zip
说明1: 我用的版本就是9.4.0.54424
说明2: 如果有更新版本,注意依赖(比如:jdk版本的要求)
说明3: sonar9.4需要jdk11
说明4: 自行准备jdk11的环境与配置,此文档不再赘述
3)我的盘
https://pan.baidu.com/s/1I3ymau4S6ZqTdoHKjzQHaA
统一密码: 6326
2、上传到服务器或者服务器直接get
1)上传
rz
2)下载
wget
说明:注意目录,后续操作跟zip包所在目录有关系
三、安装与配置
1、创建安装目录
1)进入home
cd /home
2)创建目录
mkdir sonarqube
3)进入作业目录
cd /home/sonarqube
4)上传安装包或移动安装包
上传
rz
移动
mv
2、解压
1)安装zip工具
yum -y install zip unzip
说明: 如果已经安装了,就不用再安装了
2)解压
unzip sonarqube-9.4.0.54424.zip
3)修改目录名称
mv sonarqube-9.4.0.54424 sonarqube
3、配置数据库与服务端口
1)打开配置文件
vi /home/sonarqube/sonarqube/conf/sonar.properties
2)找个合适的位置,补充内容
sonar.jdbc.url=jdbc:postgresql://localhost:5432/hg_demo_sonar sonar.web.context=/ sonar.web.host=0.0.0.0 sonar.web.port=9001
说明1: 用的是postgresql数据库
说明2: host外网可连接
说明3: 端口9001
3)保存
4、配置jdk路径
1)打开配置文件
vi /home/sonarqube/sonarqube/conf/wrapper.conf
2)修改command(是修改)
wrapper.java.command=/home/jvm/jdk-11.0.15.1/bin/java
说明1: 配置自己的jdk路径
说明2: jdk11从官网下载就可以
说明3: 也可以从我的盘下载
https://pan.baidu.com/s/1T5iPiSIyz4nUQu5uYCrK1A
3)保存
5、增加sonar操作用户
1)增加用户
useradd sonar
说明1: 为什么要增加用户?因为sonar不允许root启动
2)授权
chown -R sonar:sonar /home/sonarqube/sonarqube/ chown -R sonar:sonar /home/jvm/
说明1: 授权sonar操作权限
说明2: 授权jdk访问权限
3)设置密码
passwd sonar
密码为:
sonar
6、系统配置
1)打开系统配置
vi /etc/security/limits.conf
2)在末尾新增
* soft nofile 65536 * hard nofile 131072
说明1:设置所有用户磁盘容量(个人理解)
说明2: 务必要配置,不然启动不起来;sonar默认安装es,es对磁盘有要求
3)查看配置
ulimit -Hu ulimit -Su
4)打开配置
vi /etc/sysctl.conf
5)新增
vm.max_map_count=262144
6)保存并查看结果
sysctl -p
7、启动与排错
1)启动
su - sonar /home/sonarqube/sonarqube/bin/linux-x86-64/sonar.sh start
2)重启
su - sonar /home/sonarqube/sonarqube/bin/linux-x86-64/sonar.sh restart
3)监控启动日志
tail -f /home/sonarqube/sonarqube/logs/sonar.日期.log
比如:
tail -f /home/sonarqube/sonarqube/logs/sonar.20220602.log
4)监控es启动
tail -f /home/sonarqube/sonarqube/logs/es.log
5)监控web启动
tail -f /home/sonarqube/sonarqube/logs/web.log
说明1: 优先排查sonar日志
说明2: 然后是es日志
说明3: 然后是web日志
6)报错信息总结
说明1: 系统配置错误,比如不满足最低配置
说明2: jdk版本不对
说明3: 启动用户不能是root
说明4:查看是否启动成功
netstat -anp | grep 9001
说明5: 端口存在,即成功