SonarQube 质量门禁强制器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/sonarqube-quality-gate-enforcer-14。
技能介绍
问题背景
Pull Request 合并前,代码质量指标常依赖人工检查或分散的 CI 脚本,覆盖率回退、重复率超标或安全热点未审容易被忽略,导致缺陷流入主干。SonarQube 的质量门禁规则需要与 PR 流程紧密结合,否则阈值更新和审查结果难以同步。
核心能力与工作方式
该技能通过 SonarQube Web API 和 ce/task 端点,在 PR 工作流中自动执行质量门禁检查:
- 触发时机:在代码提交或 PR 触发时调用分析接口,启动
SonarQube扫描任务 - 指标校验:读取覆盖率、重复率、安全热点等数据,与预设阈值对比
- 结果反馈:当指标未达标(如覆盖率下降)或存在未审查的安全热点时,返回阻断合并的结果,并在 PR 中标注具体问题
适用边界与注意点
- 环境依赖:需要安装 Native Git 并在
PATH中可用;构建需 Java 17 和 npm 环境 - UI 修改场景:若涉及 Web 界面改动,需额外克隆
sonarqube-webapp仓库完成构建,并通过WEBAPP_BUILD_PATH环境变量关联 - 测试控制:可通过
-x test参数跳过 Gradle 测试,适合仅需构建的场景,但可能遗漏测试覆盖问题
使用场景
- 在 PR 合并前调用 SonarQube `ce/task` 检查结果,覆盖率下降时阻断合并。
- 当重复率超过阈值或安全热点未审查,需要在 PR 中标注失败项并阻止合入主干。
- 修改 SonarQube Web 界面后,需要本地构建 webapp 并传入 `WEBAPP_BUILD_PATH` 完成主项目构建。
- 本地构建技能项目时,Java 17 不可用,需要确认 `PATH` 与构建依赖是否满足。
适合人员
- 后端或前端工程师:希望 PR 合并前自动拦截覆盖率回退和重复代码。
- DevOps 或 CI 维护者:需要在流水线中固化 SonarQube 质量门禁,统一合并标准。
- 技术负责人或代码审查者:希望在 PR 中看到安全热点未审和门禁失败原因。