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/*