Agent Skills
返回列表
💻

SonarQube 代码扫描代理

开发编程 更新于 2026.08.29

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

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/sonarqube-code-scanner-agent。

技能介绍

解决什么问题

在多人协作或持续集成的代码仓库中,代码异味、潜在缺陷和安全漏洞往往在合并后才被发现,此时修复成本已经很高。手动做 code review 覆盖有限,而传统 CI 脚本又难以统一维护多语言项目的扫描规则。这个技能希望把 SonarQube 的分析能力带入日常开发流程,让质量检查成为编码阶段的一部分。

核心能力与工作方式

技能底层依赖 SonarScanner CLI 完成实际扫描,同时通过 SonarQube REST API 与服务端交互,读取分析结果和质量门禁状态。

  • 多语言覆盖:支持 30 多种编程语言,无需为每种语言单独配置扫描器。
  • 三类问题检测:识别代码异味(code smells)、缺陷(bugs)和安全漏洞(vulnerabilities)。
  • 质量门禁:扫描结果会对照预设的质量门禁规则,判断当前代码是否达到合并门槛。

典型流程是:开发者在本地或 CI 环境中触发扫描 → SonarScanner 分析代码 → 结果推送到 SonarQube 服务端 → 质量门禁给出通过或失败的结论。

适用边界与注意点

  • 构建环境需要 Java 17 和 npm,Native Git 必须在 PATH 中可用。
  • 如果修改涉及 SonarQube Web 界面,需要单独 clone sonarqube-webapp 仓库进行开发和本地构建,再通过 WEBAPP_BUILD_PATH 环境变量让主仓库使用构建产物。
  • 在只想构建而不想跑测试时,可以在 gradle 命令中加入 -x test 跳过测试步骤。
  • 该技能侧重服务端与 CLI 配合的分析链路,不替代 SonarQube 本身的规则配置和维护。

使用场景

  • 在 CI 流水线中为每次 Pull Request 触发 SonarQube 扫描,用质量门禁阻断含漏洞的代码合入
  • 多语言仓库中统一检测代码异味和缺陷,避免每种语言单独配置扫描规则
  • 本地提交前运行扫描,在推送到远程前发现潜在缺陷和安全漏洞
  • 修改 SonarQube Web 界面后,通过 WEBAPP_BUILD_PATH 将前端构建产物集成到主仓库扫描

适合人员

  • 后端开发工程师,需要在合并代码前确认质量门禁通过并修复扫描报告中的缺陷
  • DevOps 工程师,负责为团队的 CI 流水线集成统一的代码质量扫描与门禁策略
  • 全栈开发者,维护包含多种编程语言的项目,希望一套扫描方案覆盖所有技术栈
  • 安全审计人员,需要通过 SonarQube 报告定位代码库中的安全漏洞并跟踪修复进度