SonarQube 扫描器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/sonarqube-scanner-skill
技能介绍
解决什么问题
代码质量分析工具(如 SonarQube)能产出大量问题报告,但这些结果常与代码评审流程脱节。开发者需要在 IDE 或 PR 中反复切换,手动核对问题位置,导致评审效率低且容易遗漏关键缺陷。
核心能力与工作方式
- 质量门状态获取:通过
api/qualitygates/project_status接口实时拉取项目质量门结果,明确当前代码是否通过预设的合规标准。 - 问题解析与定位:调用
api/issues/search接口获取具体问题列表,结合源码解析将每个问题映射到具体的文件路径和代码行,生成可直接用于评审的内联标注。 - 自动化工作流集成:技能可嵌入 CI/CD 流水线,在代码提交或合并时自动触发扫描,将静态分析结果与代码变更关联,辅助开发者快速定位新增或潜在问题。
适用边界与注意点
- 环境依赖:需确保本地已安装 Java 17(构建必需)、npm(用于相关工具链)及 Git(基础依赖)。若涉及 UI 变更,需额外配置
WEBAPP_BUILD_PATH环境变量以指向构建后的 Web 应用路径。 - 问题覆盖范围:技能聚焦于静态分析结果的解析与映射,不直接处理动态测试或运行时错误。对于复杂逻辑缺陷或性能问题,仍需结合单元测试或人工评审。
- 贡献规范:若需贡献代码,需遵循项目代码风格,确保所有测试通过(每个 PR 会触发 Travis 构建)。涉及 UI 变更时,需在独立的 sonarqube-webapp 仓库完成修改并本地构建后再集成到主项目。
使用场景
- 在 PR 合并前的 CI 流水线中,需要调用 SonarQube API 检查质量门是否通过,并阻止不合规代码合入。
- 评审 Java 或前端代码时,需要把 SonarQube 的 issue 列表映射到具体文件和行号,生成内联评审注释。
- 重构或升级依赖后,需要拉取 qualitygates 与 issues 结果,确认本次变更是否引入新的静态分析问题。
- 需要定期跟踪 SonarQube 项目的 issue 数量和分布,为代码质量趋势复盘提供可核对的清单。
适合人员
- 后端或 Java 工程师,需要在 PR 中查看 SonarQube 静态分析结果并定位到具体代码行。
- 前端或全栈工程师,需要在 CI 中运行 SonarQube 扫描,获取质量门状态和问题列表。
- DevOps 或 CI 平台工程师,需要把 SonarQube API 接入流水线,自动解析质量门并生成行内注解。
- 技术负责人或代码评审负责人,需要依据 SonarQube 质量门和 issue 趋势决定合并或发布。