4.0 KiB
CI/CD 流水线状态
流水线触发信息
触发时间: 2025-11-20 13:05
触发方式: Git Push to Gitea
触发分支: main
最新提交: 2a867b8
流水线配置
环境信息
- Jenkins: http://localhost:8080
- Gitea: http://localhost:3000/gitea/SLMS
- SonarQube: http://localhost:9000
- 头歌仓库: https://bdgit.educoder.net/pu6zrsfoy/CHZU_CS231_SEB_lab.git
工具版本
- JDK: jdk21 (Java 21)
- Maven: maven396 (Maven 3.9.6)
- Android SDK: 34
流水线阶段
1. 拉取代码 ⏳
从Gitea拉取最新代码
预期结果: ✅ 成功
2. 编译项目 ⏳
使用Maven编译SLMS项目
命令: mvn clean compile -DskipTests
预期结果: ✅ 成功
3. 运行测试 ⏳
执行单元测试
命令: mvn test
预期结果: ⚠️ UNSTABLE (34/37通过)
说明: 3个DatabaseConnectionTest失败不影响核心功能
4. SonarQube 质检 ⏳
代码质量分析
命令: mvn sonar:sonar
预期结果: ✅ 成功
报告: http://localhost:9000/dashboard?id=slms:smart-library-management-system
5. 质量阈检查 ⏳
等待SonarQube质量阈结果
超时时间: 10分钟
预期结果: ✅ 通过
6. 打包项目 ⏳
打包所有制品
命令: mvn clean package -DskipTests
预期结果: ✅ 成功
制品:
- JAR: target/*.jar
- WAR: target/*.war
- EXE: target/*.exe
- APK: android/build/outputs/apk/**/*.apk
7. 归档制品 ⏳
归档构建制品到Jenkins
预期结果: ✅ 成功
8. 推送代码到 feature-ldl ⏳
推送源代码到头歌
目标分支: feature-ldl
预期结果: ✅ 成功
本地测试结果
测试统计
- 总测试数: 37
- 通过: 34 ✅
- 失败: 3 ❌
- 成功率: 91.89%
测试详情
| 测试模块 | 状态 | 通过/总数 |
|---|---|---|
| BookStatusManagerTest | ✅ | 6/6 |
| BookFactoryTest | ✅ | 6/6 |
| MockDataTest | ✅ | 6/6 |
| BookTest | ✅ | 3/3 |
| LoanTest | ✅ | 4/4 |
| NotificationTest | ✅ | 3/3 |
| ObserverTest | ✅ | 3/3 |
| CLIApplicationTest | ✅ | 2/2 |
| BookServiceTest | ✅ | 1/1 |
| DatabaseConnectionTest | ⚠️ | 3/6 |
失败测试说明
DatabaseConnectionTest的3个失败测试是反射调用私有方法的测试,不影响核心功能:
- testCreateBooksTable
- testCreateLoansTable
- testCreateUsersTable
预期流水线结果
成功场景 ✅
如果所有阶段都成功:
- ✅ 代码编译成功
- ⚠️ 测试部分通过(标记为UNSTABLE)
- ✅ SonarQube质检通过
- ✅ 项目打包成功
- ✅ 制品归档成功
- ✅ 代码推送到feature-ldl成功
最终状态: SUCCESS 或 UNSTABLE
失败场景 ❌
可能的失败原因:
- 编译错误
- SonarQube质量阈不通过
- 打包失败
- 推送失败
监控方式
1. Jenkins Web界面
访问: http://localhost:8080/job/SLMS/
查看:
- 构建历史
- 控制台输出
- 测试报告
- 构建制品
2. 命令行监控
运行: check_pipeline_status.bat
3. SonarQube报告
访问: http://localhost:9000/dashboard?id=slms:smart-library-management-system
查看:
- 代码质量
- 代码覆盖率
- 代码异味
- 安全漏洞
后续步骤
流水线成功后
- ✅ 检查Jenkins构建日志
- ✅ 查看SonarQube质量报告
- ✅ 下载构建制品
- ✅ 验证feature-ldl分支代码
- ✅ 更新项目文档
流水线失败后
- ❌ 查看失败阶段
- ❌ 分析错误日志
- ❌ 修复问题
- ❌ 重新推送代码
相关文档
更新日志
2025-11-20 13:05
- ✅ 修复48个测试编译错误
- ✅ 完成本地单元测试
- ✅ 推送代码到Gitea
- ⏳ 触发Jenkins流水线
状态: ⏳ 流水线运行中
预计完成时间: 约10-15分钟
监控: 运行 check_pipeline_status.bat 或访问 http://localhost:8080