Files
novalon-website/docs/deployment/CICD_VERIFICATION_CHECKLIST.md
T
张翔 26aa13b5a4
ci/woodpecker/push/woodpecker Pipeline is running
feat: 并行化CI代码质量检查步骤
优化内容:
- Lint、Type Check、Security Scan并行执行
- Unit Tests使用depends_on等待所有检查完成
- 添加npm缓存配置
- 修复shared-mocks.tsx的ESLint错误

预期效果:
- 串行时间: 30s + 40s + 20s = 90s
- 并行时间: max(30s, 40s, 20s) = 40s
- 节省时间: 50s (55.6%改善)
2026-03-29 11:41:30 +08:00

218 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CI/CD 修复验证清单
## 📋 基本信息
- **提交 SHA**: 34ce9fb
- **分支**: release/v1.0.0
- **提交时间**: 2026-03-29
- **Pipeline URL**: https://ci.f.novalon.cn/repos/1/pipeline
- **预期 Pipeline**: #30 或更新
---
## ✅ 验证清单
### 1. Git LFS 禁用验证
**预期结果**: Clone 步骤不应执行 LFS 相关命令
**检查步骤**:
- [ ] 访问 Pipeline 详情页
- [ ] 查看 Clone 步骤日志
- [ ] 确认日志中**不包含**以下内容:
- `git lfs fetch`
- `git lfs checkout`
- `Fetching reference refs/heads/release/v1.0.0`
**预期日志示例**:
```
+ git init --object-format sha1 -b release/v1.0.0
+ git config --global --replace-all safe.directory /woodpecker/src
+ git fetch --no-tags --depth=1 origin +34ce9fb:
+ git reset --hard -q 34ce9fb
+ git submodule update --init --recursive --depth=1 --recommend-shallow
```
**注意**: 不应出现 `git lfs` 相关命令
---
### 2. 企业微信通知验证
**预期结果**: 通知消息应正确显示环境变量值
**检查步骤**:
- [ ] 检查企业微信群聊是否收到通知
- [ ] 验证通知内容包含实际值:
- [ ] 分支: `release/v1.0.0`(而非 `${BRANCH}`
- [ ] 提交: `34ce9fb`(而非 `${COMMIT}`
- [ ] 作者: 实际作者名(而非 `${AUTHOR}`
- [ ] 提交信息: 实际提交信息
- [ ] Pipeline编号: 实际编号
- [ ] 时间: 实际时间戳
**预期通知格式**:
```
## 🚀 Novalon Website 部署通知
> **构建状态**: 成功
**项目信息**
> 分支: `release/v1.0.0`
> 提交: `34ce9fb`
> 作者: zhangxiang
**提交信息**
> fix: 修复CI/CD流程问题并建立监控机制
**操作**
> [查看构建详情](https://ci.f.novalon.cn/repos/1/pipeline/30)
---
> 时间: 2026-03-29 08:XX:XX
> Pipeline #30
```
**错误示例**(不应出现):
```
> 分支: `${BRANCH}`
> 提交: `${COMMIT}`
> 作者: ${AUTHOR}
```
---
### 3. 部署验证
**预期结果**: 部署成功,健康检查通过
**检查步骤**:
- [ ] 查看 deploy-production 步骤日志
- [ ] 确认以下步骤成功:
- [ ] Registry login
- [ ] Image pull
- [ ] Rolling update
- [ ] Database migration
- [ ] Health check (30次检查)
- [ ] 确认**未触发**回滚机制
**预期日志示例**:
```
=== Step 7: Health check ===
Waiting for service to be ready... (1/30)
Waiting for service to be ready... (2/30)
...
✅ Health check passed!
```
**错误示例**(不应出现):
```
❌ Health check failed, rolling back...
```
---
### 4. 完整流程验证
**预期结果**: 所有步骤按预期执行
**检查步骤**:
- [ ] lint - 通过
- [ ] type-check - 通过
- [ ] security-scan - 允许失败
- [ ] unit-tests - 通过
- [ ] e2e-standard - 通过
- [ ] e2e-deep - 通过
- [ ] e2e-performance - 通过
- [ ] e2e-accessibility - 通过
- [ ] e2e-visual - 通过
- [ ] build-image - 通过
- [ ] deploy-production - 通过
- [ ] archive-to-main - 通过
- [ ] notify-wechat-success - 通过
---
## 📊 验证结果记录
### Pipeline 执行情况
| 步骤 | 状态 | 备注 |
|------|------|------|
| Clone | ⏳ 待验证 | 重点验证LFS是否禁用 |
| lint | ⏳ 待验证 | |
| type-check | ⏳ 待验证 | |
| security-scan | ⏳ 待验证 | 允许失败 |
| unit-tests | ⏳ 待验证 | |
| e2e-standard | ⏳ 待验证 | |
| e2e-deep | ⏳ 待验证 | |
| e2e-performance | ⏳ 待验证 | |
| e2e-accessibility | ⏳ 待验证 | |
| e2e-visual | ⏳ 待验证 | |
| build-image | ⏳ 待验证 | |
| deploy-production | ⏳ 待验证 | 重点验证健康检查 |
| archive-to-main | ⏳ 待验证 | |
| notify-wechat | ⏳ 待验证 | 重点验证变量展开 |
### 关键问题验证
| 问题 | 修复方案 | 验证状态 |
|------|---------|---------|
| Git LFS 执行失败 | 添加 `lfs: false` | ⏳ 待验证 |
| 企业微信通知变量丢失 | 修正环境变量展开格式 | ⏳ 待验证 |
---
## 🔍 问题排查
### 如果 Clone 步骤仍显示 LFS 命令
**可能原因**:
1. Woodpecker CI 缓存未清除
2. Git 插件版本不支持 `lfs: false` 设置
**解决方案**:
```bash
# 检查 Woodpecker CI 版本
# 查看插件文档确认配置项
# 备选方案:在 Git 服务器端禁用 LFS
# 修改 forgejo-app.ini
```
### 如果企业微信通知仍显示变量名
**可能原因**:
1. 环境变量未正确传递
2. Shell 变量展开时机问题
**解决方案**:
```bash
# 本地测试
export WECHAT_WEBHOOK='your_webhook_url'
export CI_COMMIT_BRANCH='test-branch'
export CI_COMMIT_SHA='test123'
export CI_COMMIT_MESSAGE='test message'
export CI_COMMIT_AUTHOR='test-author'
export CI_PIPELINE_NUMBER='999'
export CI_REPO_ID='1'
./scripts/test-wechat-notify.sh
```
---
## ✅ 验证完成标准
- [ ] Git LFS 相关命令不再出现
- [ ] 企业微信通知正确显示所有变量值
- [ ] 部署成功,健康检查通过
- [ ] 所有测试步骤通过
- [ ] 企业微信群聊收到正确格式的通知
---
**验证人员**: 张翔
**验证日期**: 2026-03-29
**验证状态**: ⏳ 进行中