jenkins配置sonarqube
下载插件SonarQube Scanner for Jenkins
在系统管理系统设置中选择
SonarQube servers
配置服务器名称、访问URL地址,Sonar5.3版本以后使用token认证
token在sonarqube的账户-安全中添加新token串
在系统管理-全局设置中选择SonarQube Scanner
配置为SonarQube Scanner安装目录
进入项目配置
修改:add pre-build step节点
配置参数
sonar.projectKey=test
sonar.projectName=test
sonar.projectVersion=1.0
sonar.sources=src/main/java
sonar.java.binaries=target/classes
sonar.java.libraries=target/XXXXXXX/*.jar
sonar.language=java
sonar.sourceEncoding=UTF-8
sonar.scm.disabled=true
执行构建
报错:
Error during SonarQube Scanner execution
org.sonar.squidbridge.api.AnalysisException: Please provide compiled classes of your project with sonar.java.binaries property
解决方法:
https://docs.sonarqube.org/display/PLUG/Java+Plugin+and+Bytecode
sonar.java.binaries |
Comma-separated paths to directories containing the compiled bytecode files corresponding to your source files. Since 4.12, analysis will fail with the message : Please provide compiled classes of your project with sonar.java.binaries property |
增加一个配置项:sonar.java.binaries=target/classes
报错:
Error during SonarQube Scanner execution
java.lang.OutOfMemoryError: Java heap space
解决方法
对于比较大的项目,需要增加sonar runner的运存
在JVM Options选项中添加-Xmx512m(或更大内存)
需要跳过某目录下的文件不进行检查:
如排除文件夹 “src/main/java/org/sonar” 中所有的java文件,不包括子文件夹
增加参数sonar.exclusions=src/main/java/org/sonar/*