Agent Skills
返回列表
🔒

SonarQube 质量门禁监控器

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md ,安装 @user_3c6cb52e/sonarqube-quality-gate-monitor-3 。

技能介绍

要解决什么问题

CI 流水线里的质量门禁常常流于形式。SonarQube 扫完了,报告躺在 dashboard 里没人点开;即使有人注意到红灯,也缺少一个自动化手段去真正拦住发布。结果就是带病上线,等技术债务累积到影响维护时才回头补救。这个技能的目标是把门禁结果从「仅供参考」变成「不达标就不发布」的硬约束。

它如何工作

技能通过 SonarQube 的 Web API 拉取项目质量门禁状态,拿到条件检查结果后与阈值做比对:

  • 门禁判定:逐项检查 condition 状态,任一不达标即返回失败信号;
  • CI 阻断:失败信号被流水线消费,后续部署步骤不再执行;
  • 趋势跟踪:跨版本记录技术债务指标,便于在 dashboard 上做纵向对比。

适用边界

这套方案依赖几个外部条件,接入前需要确认:

  • 运行环境需具备 Java 17 与 npm;
  • 系统 PATH 中必须能找到原生 git;
  • 只做后端变更时可以直接跑构建,必要时用 -x test 跳过测试;
  • 若改动涉及前端,需要先在 sonarqube-webapp 仓库完成本地构建,再通过 WEBAPP_BUILD_PATH 环境变量传给主仓库构建。

也就是说,它适合已有 SonarQube 基础设施、且希望把门禁嵌入 CI 流程的团队。没有 SonarQube 服务时,这个技能没有可查询的对象。

使用场景

  • 合并请求发起后,CI 需要先过一遍 SonarQube 质量门禁,任一条件不达标就停掉后面的部署步骤
  • 发布窗口临近,想让流水线自动核对新构建是否满足复杂度和覆盖率阈值,不达标直接终止发布
  • 跨版本统计质量趋势,对比不同 release 的技术债务变化,用来判断重构收益是否兑现
  • 多模块项目接入门禁检查,希望每个子项目统一走同一套阈值判定逻辑,而不是各自手写脚本

适合人员

  • 后端工程师,需要在合并代码前确认本次改动没有让复杂度或覆盖率滑出团队约定的阈值
  • DevOps 工程师,负责把 SonarQube 门禁结果接进现有 CI 流水线,让不达标的构建自动终止发布
  • 技术负责人,跨版本关注技术债务趋势,需要一份可对比的数据来判断质量是否在持续恶化