jenkins流水线整合jacoco与sonar(二)
sonar代码质量扫描整合
1.sonar API整合
- 因业务需要,将sonar的账号、项目、权限的维护等一系列API操作整合进自己的项目中,免去手动配置。
- 用admin账号准备好一个有解析权限的token供流水线解析项目使用
2.jenkins流水线脚本编写
stage('Sonar Analyze') {
if (enableSonarTest == "1") {
println("#############################################开始代码质量检查##################################################")
withEnv(["JAVA_HOME=/root/jenkins/tools/${jdkVersion}", "MVN_HOME=/root/jenkins/tools/maven3"]) {
def consoleLog = sh(script: '"$MVN_HOME/bin/mvn" sonar:sonar -Dsonar.projectKey=' + sonarKey + ' -Dsonar.host.url=' + sonarUrl + ' -Dsonar.login=' + sonarToken, returnStdout: true)