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.
3.9 KiB
3.9 KiB
SonarQube 项目配置更新指南
目的: 将 SonarQube 项目键从 slms:slms 更新为 slms
方法 1: 通过 SonarQube Web UI 更新
步骤 1: 访问 SonarQube
- 打开浏览器访问:
http://localhost:9000 - 使用管理员账号登录
步骤 2: 查找现有项目
- 在顶部搜索栏搜索
slms - 或访问:
http://localhost:9000/projects - 找到项目
slms:slms或slms
步骤 3: 更新项目键(如果需要)
如果项目键是 slms:slms:
- 进入项目页面
- 点击 Project Settings (项目设置)
- 选择 Update Key (更新键)
- 将项目键从
slms:slms改为slms - 点击 Update 保存
如果项目键已经是 slms:
- 无需修改,跳过此步骤
步骤 4: 验证项目配置
- 进入项目页面:
http://localhost:9000/dashboard?id=slms - 检查以下配置:
- Project Key:
slms - Project Name:
slms或SLMS - Quality Gate: 确认已分配质量门禁
- Project Key:
步骤 5: 检查质量门禁
- 访问:
http://localhost:9000/quality_gates - 找到
SLMS-Quality-Gate或默认质量门禁 - 确认项目
slms已关联到正确的质量门禁
方法 2: 通过 SonarQube API 更新
前提条件
生成 SonarQube Token:
- 访问:
http://localhost:9000/account/security - 生成新的 Token
- 保存 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 创建
- 访问:
http://localhost:9000/projects/create - 选择 Manually (手动创建)
- 填写信息:
- Project key:
slms - Display name:
SLMS或slms
- Project key:
- 点击 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: 确保:
- Jenkinsfile 中
SONAR_PROJECT_KEY已更新为slms - Jenkins 中 SonarQube 服务器配置正确
- 重新运行流水线
Q3: 质量门禁未关联
A:
- 访问:
http://localhost:9000/quality_gates - 选择质量门禁
- 在 Projects 标签页添加项目
slms
配置检查清单
完成以下检查以确保配置正确:
- SonarQube 项目键为
slms - 项目名称为
slms或SLMS - 质量门禁已关联(
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