Q12 · 代码质量

你的项目工程化 Sonar 是如何配置的?

SonarQube代码质量CI

⚡ 速记答案(30 秒)

  • 一般采用 SonarQube + Sonar Scanner
  • 配置项目 key、语言(JS/TS/Vue)、源码目录、排除目录、测试覆盖率报告路径等
  • 在 CI 中增加扫描步骤:构建 → 测试 → 生成覆盖率 → 调用 Sonar Scanner 上报
  • 在 SonarQube 中配置质量阈值(bug/安全问题/覆盖率),不达标就阻断合并

📖 详细讲解

SonarQube 配置


sonar-project.properties


sonar.projectKey=my-project
sonar.projectName=My Project
sonar.sources=src
sonar.tests=tests
sonar.exclusions=**/node_modules/**,**/dist/**
sonar.javascript.lcov.reportPaths=coverage/lcov.info

CI 集成流程


steps:
  - run: npm install
  - run: npm run test -- --coverage
  - run: sonar-scanner

质量门禁


指标阈值
Bugs0
安全漏洞0
代码覆盖率> 80%
代码重复率< 3%
💡
面试技巧:回答工程化问题时,结合你实际项目中的配置和优化经验,更有说服力。