feat(k8s): M5 Deployment 暂停更新 + CI/CD 集成

- 后端: PauseDeployment/ResumeDeployment 客户端方法 (PATCH spec.paused)
- 后端: ID路由 + Kuboard code路由 pause/resume handlers
- 后端: Deployment 列表 summary 增加 paused 字段
- 前端: 操作菜单增加「暂停更新/恢复更新」动态切换 + 暂停 Badge
- 前端: CI/CD 发布按钮跳转流水线页面 (namespace+deployment 上下文)
- 前端: api.ts 增加 pauseDeployment/resumeDeployment 方法
- 验证: 5项端到端测试全部通过 (Python urllib)
This commit is contained in:
attacker committed 2026-06-23 03:06:13 +08:00
1 parent 23f237288d
commit 2e66908e20
8 files changed
+194 -8

No files matched your search

+42
View File
@@ -94,3 +94,45 @@ curl -X POST "http://127.0.0.1:8080/api/v1/kubernetes/1/namespace/devops/pods/ai
- [x] 文件列表 (ls) 能看到上传的文件
- [x] ExecInPod 使用 WebSocket channel.k8s.io 协议(不再用 SPDY raw HTTP)
- [x] BusyBox ls 解析兼容(Mon DD HH:MM 格式)
---
## M5: Deployment 暂停更新 + CI/CD 集成
### 验证用例
```bash
# U1: 暂停前 — 确认 paused=false
curl -s "http://127.0.0.1:8080/api/v1/kubernetes/prod-cluster/namespace/devops/deployments" \
-H "Authorization: Bearer $TOKEN" | jq '.data[] | select(.name=="redis") | .paused'
# 期望: false
# U2: 暂停 Deployment
curl -X POST "http://127.0.0.1:8080/api/v1/kubernetes/prod-cluster/namespace/devops/deployments/redis/pause" \
-H "Authorization: Bearer $TOKEN"
# 期望: code=200, msg="已暂停滚动更新"
# U3: 暂停后 — 确认 paused=true
curl -s "http://127.0.0.1:8080/api/v1/kubernetes/prod-cluster/namespace/devops/deployments" \
-H "Authorization: Bearer $TOKEN" | jq '.data[] | select(.name=="redis") | .paused'
# 期望: true
# U4: 恢复 Deployment
curl -X POST "http://127.0.0.1:8080/api/v1/kubernetes/prod-cluster/namespace/devops/deployments/redis/resume" \
-H "Authorization: Bearer $TOKEN"
# 期望: code=200, msg="已恢复滚动更新"
# U5: 恢复后 — 确认 paused=false
curl -s "http://127.0.0.1:8080/api/v1/kubernetes/prod-cluster/namespace/devops/deployments" \
-H "Authorization: Bearer $TOKEN" | jq '.data[] | select(.name=="redis") | .paused'
# 期望: false
```
### 通过标准
- [x] U1: 暂停前 paused=false
- [x] U2: pause API 返回 200
- [x] U3: 暂停后 paused=true
- [x] U4: resume API 返回 200
- [x] U5: 恢复后 paused=false
- [x] ID 路由 + Kuboard code 路由均可用
- [x] 前端操作菜单显示「暂停更新/恢复更新」动态切换
- [x] CI/CD 发布按钮可跳转到流水线页面