Sonarqube安装与使用
一、环境准备
1.系统java环境:
jdk1.8
2.数据库:
mysql 5.7(mysql 5.6, mysql 8会报错)
由于mysql数据库max_allowed_packet 默认值过小,导致后期生产的报告写入数据库时报错,故建议修改数据该值为500M(视项目大小决定),并重启mysql
3.sonarqube 安装包下载
https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.3.zip
二、安装运行
1.解压sonarqube压缩包
2.修改配置 :
修改 解压文件路径/conf/sonar.properties
sonar.jdbc.username= username
sonar.jdbc.password= password
sonar.jdbc.url=jdbc:mysql://xxxx:3306/xxx?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
3.准备启动snoarqube
先用 useradd sonar 创建一个sonar用户(因为es不支持用root用户启动,所以才需要创建sonar用户),
然后用chown -R sonar:sonar /sonarqube-7.3(sonarqube-7.3这个是官网下载下来解压的文件)添加权限。
Centos还需先修改两个配置:
在/etc/sysctl.conf文件中加入
vm.max_map_count=262144
fs.file-max=65536
然后执行sysctl -p使配置生效
在 /etc/security/limits.conf 加入
ulimit -n 65536
ulimit -u 2048
* soft nofile 65536
* hard nofile 65536
然后执行source /etc/security/limits.conf
4.启动sonarqube
切换到新建的sonar用户 su sonar
到安装目录/bin/下,并进入到自己系统版本对应目录
首次执行可以控制台运行,可看到启动日志
./sonar.sh console
后台执行命令为
./sonar.sh start
停用服务
sonar ./sonar.sh stop
启动成功后可以访问:http://myserver:9000 查看
5.安装中文语言包
Sonarqube启动成功后使用默认管理员用户登陆后台(admin admin),默认为英文版本,可以找到plugin安装,然后搜索Chinese Pack,并安装,然后会提示重启系统,重启即可。
三、扫描项目并上传报告
Sonarqube提供了多种扫描代码方式,详见官方文档
https://docs.sonarqube.org/display/SCAN
maven项目建议直接使用SonarQube Scanner for Maven
1.添加mave配置(settings文件)
<settings>
<pluginGroups>
<pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.host.url>
http://myserver:9000
</sonar.host.url>
</properties>
</profile>
</profiles>
</settings>
2.在要扫描的项目主pom文件下运行
mvn sonar:sonar
执行成功后再Sonarqube控制面板上http://myserver:9000看到相关信息。