SonarQube安装部署

1. SonarQube安装部署

SonarQube是一个用于管理代码质量的开放平台,可以快速的定位代码中潜在的或者明显的错误。目前
支持java,C#,C/C++,Python,PL/SQL,Cobol,JavaScrip,Groovy等二十几种编程语言的代码质量管理与检
测。
官网:https://www.sonarqube.org/

1.1. 环境要求

  • jdk
  • maven
  • mysql 5.7

下载

1
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.8.zip

1.2. 安装mysql5.7

下载并安装MySQL官方的 Yum Repository

1
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

安装

1
2
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server

启动

1
systemctl start  mysqld.service

查看状态

1
systemctl status mysqld.service

查看密码

1
2
grep "password" /var/log/mysqld.log
pe9jD62)fQmb

登陆修改密码

1
2
3
mysql -uroot -p

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Mysqldb@12';

1.3. 安装sonarqube

解压sonar,并设置权限

1
yum install -y unzip

解压

1
2
3
4
5
6
7
8
9
10
11
12
13
unzip sonarqube-7.8.zip

# 创建目录
mkdir /data/aimm/sonar -p

# 移动文件
mv sonarqube-7.8/* /data/aimm/sonar/

# 创建sonar用户
useradd sonar

# 更改sonar目录权限
chown -R sonar. /data/aimm/sonar/

1.4. 配置

修改sonar配置文件

vim /data/aimm/sonar/conf/sonar.properties

1
2
3
sonar.jdbc.username=root
sonar.jdbc.password=Mysqldb@12
sonar.jdbc.url=jdbc:mysql://192.168.1.221:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

sonar常用命令

1
2
3
4
5
6
7
8
9
10
11
# 启动
su sonar /data/aimm/sonar/bin/linux-x86-64/sonar.sh start

# 查看状态
su sonar /data/aimm/sonar/bin/linux-x86-64/sonar.sh status

# 停止
su sonar /data/aimm/sonar/bin/linux-x86-64/sonar.sh stop

# 查看日志
tail -f /data/aimm/sonar/logs/sonar.logs

访问sonar

1
http://192.168.1.210:9000

默认账户

1
admin/admin 

1.5. 配置开机启动

编写开机启动脚本

vim /etc/systemd/system/sonarqube.service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[Unit]
Description=SonarQube service
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start
ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop
User=sonar
Group=sonar
Restart=always
LimitNOFILE=65536
LimitNPROC=10240

[Install]
WantedBy=multi-user.target

加入开机启动

1
systemctl enable sonarqube.service

启动

1
systemctl start sonarqube.service

报错解决

报错信息如下

tail -f sonar/logs/sonar.log

1
2
3
4
5
6
--> Wrapper Started as Daemon
Launching a JVM...
Unable to start JVM: No such file or directory (2)
JVM exited while loading the application.
JVM Restarts disabled. Shutting down.
<-- Wrapper Stopped

这是因为JVM参数没有配置

sonar/conf/wrapper.conf 中配置

1
wrapper.java.command=/usr/java/jdk-11.0.5+10/bin/java

配置完成再次重启即可

1.6. 汉化

下载汉化包

https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases

把jar包放在:/data/aimm/sonar/extensions/plugins

然后重启

1
su sonar /data/aimm/sonar/bin/linux-x86-64/sonar.sh restart

创建token

我的账号-安全-生成令牌

令牌名称:admin

1
4de2152c178d7b6809791ffb0fbb187329a4c1b2
-------------本文结束感谢您的阅读-------------