Sonarqube(社区版)支持扫描多分支配置
1.Sonarqube集成Gitlab统一认证2.Jenkins集成Gitlab统一认证3.Jenkins集成Blue Ocean4.Jenkins-邮件配置5.Jenkins集成SonarQube
6.Sonarqube(社区版)支持扫描多分支配置
Sonarqube(社区版)支持扫描多分支配置
社区版本的sonarqube不支持扫描多分支,可以利用开源插件实现
GitHub:https://github.com/mc1arke/sonarqube-community-branch-plugin
一.Sonarqube配置
1.下载扫描插件到 /opt/sonarqube/extensions/plugins/
:
$ wget https://github.com/mc1arke/sonarqube-community-branch-plugin/releases/download/1.14.0/sonarqube-community-branch-plugin-1.14.0.jar -P /opt/sonarqube/extensions/plugins/
2.配置sonarqube配置文件:/opt/sonarqube/conf/sonar.properties
添加以下内容:
sonar.web.javaAdditionalOpts=-javaagent:./extensions/plugins/sonarqube-community-branch-plugin-1.14.0.jar=web
sonar.ce.javaAdditionalOpts=-javaagent:./extensions/plugins/sonarqube-community-branch-plugin-1.14.0.jar=ce
3.重启soanrqube
二.Jenkins配置
1.安装多分支扫描插件
安装 GitLab Branch Source Plugin
2.配置pipline流水线
配置选项 指定分支(为空时代表any)= */$gitlabSourceBranch
三.配置Jenkinsfile
配置Jenkinsfile在使用Sonarqube时,添加参数 -Dsonar.branch.name=${gitlabSourceBranch}
Python
stage('SonarQube Analysis') {
environment {
// http://192.168.61.33:8080/manage/configureTools/
// Set the scannerHome variable to the SonarScanner tool path
// 在全局工具配置中配置 SonarScanner, 变量值就是配置的 SonarQube Scanner Name
scannerHome = tool 'SonarScanner'
}
steps {
// http://192.168.61.33:8080/manage/configure
// withSonarQubeEnv('sonarqube') 表示在SonarQube环境中运行
// 在系统管理-系统配置中配置 SonarQube servers,
// 1. 选中 environment variables
// 2. Nmae 输入 sonarqube,表示SonarQube服务器的名称
withSonarQubeEnv('sonarqube'){
// 添加参数 -Dsonar.branch.name=${gitlabSourceBranch}
sh "${scannerHome}/bin/sonar-scanner -Dsonar.branch.name=${gitlabSourceBranch}"
}
}
}
Java
stage('SonarQube Analysis') {
environment {
// 在全局工具配置中配置 maven, 变量值就是配置的 Maven Name
// Set the maven variable to the maven tool path
mvn = tool 'maven'
}
steps {
// http://192.168.61.33:8080/manage/configure
// withSonarQubeEnv('sonarqube') 表示在SonarQube环境中运行
// 在系统管理-系统配置中配置 SonarQube servers
// 1. 选中 environment variables
// 2. Nmae 输入 sonarqube,表示SonarQube服务器的名称
withSonarQubeEnv('sonarqube'){
// sh "${mvn}/bin/mvn findbugs:findbugs"
sh "${mvn}/bin/mvn clean verify sonar:sonar -Dsonar.projectKey=sonar_mxnet-spring-samples_AYnjWl7-6upJ4s3JUirg" -Dsonar.branch.name=${gitlabSourceBranch}"
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App