You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
slms/docs/SONARQUBE_UPDATE_GUIDE.md

3.9 KiB

SonarQube 项目配置更新指南

目的: 将 SonarQube 项目键从 slms:slms 更新为 slms


方法 1: 通过 SonarQube Web UI 更新

步骤 1: 访问 SonarQube

  1. 打开浏览器访问: http://localhost:9000
  2. 使用管理员账号登录

步骤 2: 查找现有项目

  1. 在顶部搜索栏搜索 slms
  2. 或访问: http://localhost:9000/projects
  3. 找到项目 slms:slmsslms

步骤 3: 更新项目键(如果需要)

如果项目键是 slms:slms:

  1. 进入项目页面
  2. 点击 Project Settings (项目设置)
  3. 选择 Update Key (更新键)
  4. 将项目键从 slms:slms 改为 slms
  5. 点击 Update 保存

如果项目键已经是 slms:

  • 无需修改,跳过此步骤

步骤 4: 验证项目配置

  1. 进入项目页面: http://localhost:9000/dashboard?id=slms
  2. 检查以下配置:
    • Project Key: slms
    • Project Name: slmsSLMS
    • Quality Gate: 确认已分配质量门禁

步骤 5: 检查质量门禁

  1. 访问: http://localhost:9000/quality_gates
  2. 找到 SLMS-Quality-Gate 或默认质量门禁
  3. 确认项目 slms 已关联到正确的质量门禁

方法 2: 通过 SonarQube API 更新

前提条件

生成 SonarQube Token:

  1. 访问: http://localhost:9000/account/security
  2. 生成新的 Token
  3. 保存 Token只显示一次

更新项目键

# 使用 API 更新项目键
curl -u YOUR_TOKEN: -X POST "http://localhost:9000/api/projects/update_key?from=slms:slms&to=slms"

验证项目

# 查询项目信息
curl -u YOUR_TOKEN: "http://localhost:9000/api/projects/search?projects=slms"

获取质量门禁信息

# 查看项目质量门禁
curl -u YOUR_TOKEN: "http://localhost:9000/api/qualitygates/get_by_project?project=slms"

方法 3: 创建新项目(如果不存在)

通过 Web UI 创建

  1. 访问: http://localhost:9000/projects/create
  2. 选择 Manually (手动创建)
  3. 填写信息:
    • Project key: slms
    • Display name: SLMSslms
  4. 点击 Set Up 创建项目

通过 API 创建

curl -u YOUR_TOKEN: -X POST "http://localhost:9000/api/projects/create?name=slms&project=slms"

验证配置

1. 检查项目是否存在

访问: http://localhost:9000/dashboard?id=slms

如果能正常访问,说明项目配置正确。

2. 检查 Jenkinsfile 环境变量

确认 Jenkinsfile 中的配置:

environment {
    SONAR_PROJECT_KEY = 'slms'
    SONAR_PROJECT_NAME = 'slms'
}

3. 测试 SonarQube 分析

在项目根目录执行:

mvn sonar:sonar -Dsonar.projectKey=slms -Dsonar.projectName=slms

检查是否能成功上传分析结果。


常见问题

Q1: 找不到项目 slms:slms

A: 可能项目还未创建,或者已经是 slms。直接创建新项目即可。

Q2: 更新项目键后 Jenkins 报错

A: 确保:

  1. Jenkinsfile 中 SONAR_PROJECT_KEY 已更新为 slms
  2. Jenkins 中 SonarQube 服务器配置正确
  3. 重新运行流水线

Q3: 质量门禁未关联

A:

  1. 访问: http://localhost:9000/quality_gates
  2. 选择质量门禁
  3. Projects 标签页添加项目 slms

配置检查清单

完成以下检查以确保配置正确:

  • SonarQube 项目键为 slms
  • 项目名称为 slmsSLMS
  • 质量门禁已关联(SLMS-Quality-Gate 或默认)
  • Jenkinsfile 环境变量已更新
  • 能够访问项目仪表板: http://localhost:9000/dashboard?id=slms
  • 测试分析能够成功上传

自动化脚本

创建了自动化脚本来辅助配置:

# 检查 SonarQube 项目状态
scripts\check_sonarqube_project.bat

# 更新 SonarQube 项目配置
scripts\update_sonarqube_project.bat

最后更新: 2025-11-26
相关文档:

  • Jenkinsfile (已更新)
  • .kiro/specs/repository-restructure/design.md