一、环境
1、jdk(1.8)
2、mysql数据库(5.7版本)
3、SonarQube服务端:Download | SonarQube
4、sonar-runner客户端
是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误
二、安装环境
1、 linux服务器安装SonarQube:
(1)下载好SonarQube后解压到/usr/local
(2)配置sonar.properties
[root@localhost local]# vim sonarqube-7.3/conf/sonar.properties
#数据库的账号密码,刚才创建的
sonar.jdbc.username=root
sonar.jdbc.password=root
#连接数据库
sonar.jdbc.url=jdbc:mysql://192.168.10.10:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
#驱动程序类名,其实可以不写的
sonar.jdbc.driverClassName=org.gjt.mm.mysql.Driver
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
#开启端口
sonar.web.port=9000
注意:SonarQube8以上版本不支持mysql,可以使用oracle:
扫描二维码关注公众号,回复:
14811430 查看本文章

添加oracle驱动(注:不支持ojdbc14,其实就是1.4,很老的版本了)
(3)启动SonarQube (重点,这块最tm坑了)
SonarQube 启动不能用root启动,所以新建一个用户,给sonarqube设置最高权限
[root@localhost ]# useradd esuser
#好像可以不写的
[root@localhost local]# chown -R esuser.esuser sonarqube-7.3
[root@localhost local]#chmod 777 -R sonarqube-7.3
[root@localhost sonarqube-7.3]# su esuser 切换用户
[esuser@localhost sonarqube-7.3]# ./bin/linux-x86-64/sonar.sh start 启动sonarqube
启动失败问题总结:
1)
最大虚拟内存值设置过小,无法支持ElasticSearch的运行。
重启即可
2)
设置权限即可
[root@localhost local]# chown -R esuser.esuser sonarqube-7.3
[root@localhost local]#chmod 777 -R sonarqube-7.3
2、linux服务器安装SonarScanner(可以选择是否安装):
(1)下载好SonarScanner后解压到/usr/local
wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.3.0.1492-linux.zip
unzip sonar-scanner-cli-3.3.0.1492-linux.zip
mv sonar-scanner-3.3.0.1492-linux /usr/local/sonar-scanner
(2)配置sonar-runner.properties
sonar.host.url=http://192.168.6.178:8081
(3)配置环境变量
[root@localhost local]# vim /etc/profile
export SONAR_RUNNER_HOME=/usr/local/sonar-scanner
export PATH=$PATH:$SONAR_RUNNER_HOME/bin
[root@localhost local]# source /etc/profile
3、使用
(1)Chinese Pack 中文汉化
(2)SonarJava java的扫描,如果是php等等下载对应的就好了
(3)使用sonarscanner上传
在项目的根目录新建文件sonar-project.properties
#sonarqube服务器地址
sonar.host.url=http://192.168.10.33:8081
#sonarqube用户名
sonar.login=admin
#sonarqube密码
sonar.password=admin
#项目唯一标识(不能出现重复)
sonar.projectKey=demo1
#项目名称
sonar.projectName=demo1
#源代码目录
sonar.sources=src/main
#编译生成的class文件的所在目录
sonar.java.binaries=target
#版本号
sonar.projectVersion=0.0.1-SNAPSHOT
#语言
sonar.language=java
#源代码文件编码
sonar.sourceEncoding=UTF-8
执行linux命令开始扫描
[root@localhost sell]# /usr/local/sonar-scanner/bin/sonar-scanner
执行widown命令开始扫描
(4)可以不用安装sonarscanner工具,使用mvn命令上传
在maven的conf文件夹中的settings.xml配置文件中添加配置
<profile>
<id>sonar</id>
<properties>
<sonar.jdbc.url>jdbc:mysql://192.168.10.10:3306/sonar</sonar.jdbc.url>
<sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>
<sonar.jdbc.username>root</sonar.jdbc.username>
<sonar.jdbc.password>root</sonar.jdbc.password>
<sonar.host.url>http://192.168.10.33:8081</sonar.host.url> <!-- Sonar服务器访问地址 -->
<!-- 有的版本需要添加sonarqube用户密码-->
<sonar.login>admin</sonar.login>
<sonar.password>admin</sonar.password>
</properties>
</profile>
</profiles>
<activeProfiles>
<activeProfile>sonar</activeProfile>
</activeProfiles>
执行命令即可
这就成功了