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

sonarqube-scanner@^4.0.0质量门失败未返回非零退出码求助

问题描述
  • SonarQube:开发者版 v10.5.1 (90531)
  • sonarqube-scanner版本:4.0.0/4.0.1
  • Node.js版本:20.14

执行命令:

npx sonarqube-scanner@^4.0.0 -Dsonar.qualitygate.wait="true" [...]

期望质量门检测到需修复的新问题时,命令返回非零退出码使构建失败,但实际始终返回0,构建不会失败。而sonarqube-scanner@^3.5.0版本可正常触发构建失败。

解决方案

1. 添加sonar.qualitygate.failOnError参数

4.x版本的sonarqube-scanner默认不会将质量门失败转为非零退出码,需显式添加-Dsonar.qualitygate.failOnError="true"参数,完整命令如下:

npx sonarqube-scanner@^4.0.0 -Dsonar.qualitygate.wait="true" -Dsonar.qualitygate.failOnError="true" [...]

2. 验证扫描日志

执行命令后查看扫描日志,确认以下内容:

  • 日志中是否出现Quality gate status: FAILED的提示
  • 是否有对应质量门失败的错误输出(Node.js版扫描器会同步输出相关状态信息)

3. 检查SonarQube权限

确保执行扫描的用户拥有查看质量门的权限(4.x版本对权限校验逻辑有调整,需确认权限配置),可在SonarQube后台「权限管理」模块中核查。

4. 确认质量门规则配置

检查SonarQube中对应项目的质量门规则,确保触发失败的条件是针对新问题(而非存量问题),避免因规则范围不符导致的预期外结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 04:57:16