SonarQube 是一个开源的代码质量管理平台,支持多种编程语言。它通过七个维度检查代码质量,包括复杂度、重复性、单元测试覆盖率、代码标准、注释、潜在 bug 和设计问题 。
1、安装包下载
SonarQube 在 7.9 之后就不支持 mysql 了,而是使用 postgresql
# 安装包下载
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.4.zip
# 创建用户,设置密码
useradd sonar
passwd sonar
# 解压到指定目录下
unzip sonarqube-7.4.zip -d /usr/local/
chown -R sonar:sonar /usr/local/sonarqube-7.4/
mkdir -p /data/soarqube/{data,temp}
chown -R sonar:sonar /data/soarqube/
2、配置数据库
因为 SonarQube 和 Elasticsearch 不允许 root 用户启动,创建 sonar 用户和 sonar 数据库
# 进入 mysql
mysql -uroot -p
# 创建数据库
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
# 创建用户
CREATE USER 'sonar' IDENTIFIED BY 'yourpassword';
# 授予权限
GRANT ALL privileges ON sonar.* TO 'sonar'@'%';
# 刷新权限使设置生效
FLUSH PRIVILEGES;
修改 sonar.properties,添加 mysql 数据库信息:vim /usr/local/sonarqube-7.4/conf/sonar.properties
sonar.jdbc.username=sonar
sonar.jdbc.password=yourpassword
sonar.jdbc.url=jdbc:mysql://192.168.33.130:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.web.javaOpts=-server
sonar.path.data=/data/soarqube/data
sonar.path.temp=/data/soarqube/temp
修改文件来满足 elasticsearch(未满足会报错)
修改 elasticsearch.yml:vim /usr/local/sonarqube-7.4/elasticsearch/config/elasticsearch.yml
network.host: 0.0.0.0
修改系统文件,添加或修改如下行:vim /etc/security/limits.conf
* hard nofile 65536
* soft nofile 65536
root soft nproc 131072
root hard nproc 131072
修改系统文件:vim /etc/sysctl.conf,添加如下行
vm.max_map_count=655360
使之生效:/sbin/sysctl -p
3、启动程序
# 切换用户
su - sonar
# 进入 bin 目录,启动 sonarqube
cd /usr/local/sonarqube-7.4/bin/linux-x86-64/ && ./sonar.sh start
# 查看启动信息
tail -f /usr/local/sonarqube-7.4/logs/sonar.log

启动成功后浏览器打开地址:http://192.168.33.130:9000,按照提示设置 token、对项目进行分析

关闭审查结果上传到 SCM 功能

- 本文作者:Nine
- 本文链接:https://blog.nine.gt.tc/2020/06/23/linux-install-sonarqube/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)