本文阅读前提
本文假设读者熟悉Jenkins和SonarQube的基础操作。
核心实现功能
Jenkins中运行的job来调用SonarScanner,最后可实现测试结果与SonarQube中同步查看。
Jenkins中安装Sonar相关插件

配置Sonarqube
Dashboard>Manage Jenkins>Systems
指定sonarqube server的url

这里需要注意,Server authentication token中的类型!!!!
配置过程中点击添加后,**只能选择类型是Secret text,**该值为SonarQube中对应项目的项目令牌
配置Sonar Scanner
Dashboard>Manage Jenkins>Systems

Jenkins中直接查看SonarQube结果
构建完成后,我们可以直接查看SonarQube的运行结果,点击下图中红框内的标识

Jenkins Job中的调用SonarScanner的脚本
脚本参考如下,脚本通过mvn 完成对soanrscanner的调用
node {
stage('SCM') {
checkout scm
}
stage('SonarQube Analysis') {
def mvn = tool 'Default Maven';
withSonarQubeEnv() {
bat "${mvn}/bin/mvn clean verify sonar:sonar -Dsonar.host.url=http://ip:9000 -Dsonar.projectKey=key -Dsonar.projectName='SonarJavaDemo'"
}
}
}
我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!