环境下载:
https://www.sonarqube.org/downloads/ 安装需求下载sonarQube 这里注意 7.7以后不支持mysql,所以我这边选择了7.7版本的SonarQube
https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/ 下载最新的Sonarscanner
先添加用户 很多服务不支持root运行需要添加sonar用户和组
useradd sonar
groupadd sonar
chown -R sonar:sonar SonarQube路径
chown -R sonar:sonar Sonarscanner路径
配置:
先配置SonarQube $sonarqube_home/conf/sonar.properties 添加如下:
sonar.jdbc.username=username
sonar.jdbc.password=password
sonar.jdbc.url=jdbc:mysql://ip:3306/sonar?useUnicode=true&characterEncoding=utf8
sonar.search.javaAdditionalOpts=-Dbootstrap.system_call_filter=false
sonar.web.port=8086 指定web页面的的端口号
useUnicode=true&characterEncoding=utf8这两个是必须的。。而且utf8不能写成utf-8 不然连接数据库失败
继续配置SonarScanner ./sonar-scanner-4.3.0.2102-linux/conf/sonar-scanner.properties
#----- Default SonarQube server
sonar.host.url=http://SonarQube服务器IP:8086(sonar.web.port 配置的端口)
#----- Default source code encoding
sonar.sourceEncoding=UTF-8
sonar.jdbc.username=username
sonar.jdbc.password=password
sonar.jdbc.url=jdbc:mysql://ip:3306/sonar?useUnicode=true&characterEncoding=utf8
随后给一些文件添加执行权限:
使用 chmod +x 指令对下面文件添加执行权限
/sonarqube-7.7/bin/linux-x86-64/wrapper
/sonar-scanner-4.3.0.2102-linux/bin/sonar-scanner
/sonar-scanner-4.3.0.2102-linux/jre/bin/java
现在就可以运行 /sonarqube-7.7/bin/linux-x86-64/sonar.sh start 运行项目了。到这Sonarqube安装和启动完毕
开始配置Jenkins
首先安装 SonarQube Scanner for Jenkins 插件
然后在 jenkins的系统配置里配置
首先打开刚才安装的Sonar的管理页面配置下 权限token
这里是server auth token 需要点击添加
有时候这个添加点击没有效果这时候需要去
去主动添加一个凭证然后再回来选择上
和全局工具配置里配置
在项目配置里Pre Steps里选择
如果是maven项目可以选择在构建中配置如下:
添加两个构建信息
然后配置
sonar.projectKey= 自定义
sonar.projectName= 自定义,一会sonar那边显示的项目名
sonar.language=java 固定java
sonar.java.source=1.8 编译jdk版本
sonar.sources=. 源码位置
sonar.java.binaries=**/target/classes 编译后的claess位置
点击构建就行,然后就可以去 sonar的web管理页面看结果了