You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Bamboo调用SonarQube分析基于Servlet的Java应用

基于Bamboo实现SonarQube代码分析的免费落地方案

不需要依赖付费的Sonar For Bamboo插件即可完成集成,以下是3种可直接落地的实现方案:

方案1:SonarScanner CLI 通用方案

该方案适配所有Java项目,包括Ant、无明确构建工具的老旧Servlet项目,不依赖任何上层构建工具

  • 首先在运行构建任务的Bamboo Agent节点安装对应版本的SonarScanner CLI,配置好SONAR_SCANNER_HOME环境变量,将CLI可执行文件路径加入系统PATH
  • 在你的Servlet项目根目录下新增sonar-project.properties配置文件,写入基础配置:
# 项目唯一标识,SonarQube实例内全局唯一
sonar.projectKey=your-project-key
sonar.projectName=你的项目展示名称
sonar.projectVersion=1.0
# 源代码目录,根据实际结构调整,老旧Servlet项目通常为src或者WebContent/WEB-INF/src
sonar.sources=src
# Java编译后的字节码目录,通常为target/classes或者WebContent/WEB-INF/classes
sonar.java.binaries=target/classes
# SonarQube服务访问地址
sonar.host.url=http://你的SonarQube服务地址
# SonarQube侧生成的项目访问令牌
sonar.login=你的SonarQube项目token
  • 在Bamboo构建计划中新增「脚本」类型任务,放在编译打包任务之后,执行命令sonar-scanner即可,注意脚本执行的工作目录要设置为项目根目录

方案2:Maven插件方案(适合使用Maven构建的项目)

无需单独安装SonarScanner,直接通过Maven目标触发分析:

  • 不需要修改项目的pom.xml文件,直接在Bamboo的原有Maven构建任务中新增目标,或者单独新增一个Maven任务
  • 执行命令为:mvn clean verify sonar:sonar -Dsonar.host.url=http://你的SonarQube服务地址 -Dsonar.login=你的SonarQube项目token
  • 如果项目配置了单元测试、覆盖率统计插件,该命令会自动抓取对应数据上传到SonarQube,无需额外配置

方案3:Gradle插件方案(适合使用Gradle构建的项目)

适配Gradle构建的项目,集成逻辑和Maven类似:

  • 在项目build.gradle中引入SonarQube官方插件
  • 在Bamboo中新增Gradle任务,执行命令gradle sonarqube -Dsonar.host.url=http://你的SonarQube服务地址 -Dsonar.login=你的SonarQube项目token即可

通用注意事项

  • 需要确保Bamboo Agent节点和SonarQube服务之间的网络连通,没有防火墙/安全组策略限制
  • SonarQube服务版本要和对应的SonarScanner、Maven/Gradle插件版本匹配,避免出现兼容报错
  • SonarQube访问令牌建议配置在Bamboo的全局或项目级加密变量中,不要明文写在配置文件、脚本或构建命令中,避免密钥泄露

内容的提问来源于stack exchange,提问作者user3724615

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 15:36:03