Repository navigation
v1.0.0
🚀 k8s_operation v1.0.0
首个完整 CICD 发布闭环版本。
本版本实现了从发布创建 → 构建回调 → Redis Stream 异步执行 → 状态收敛 → 回滚能力的完整流程。
✨ 新增功能
- ✅ CICD 发布单创建接口
- ✅ 多集群任务拆分执行
- ✅ Redis Stream + Worker 异步部署模型
- ✅ 任务状态机收敛机制(Queued → Running → Succeeded/Failed)
- ✅ 支持发布取消(Cancel)
- ✅ 支持发布重试(Retry)
- ✅ 支持发布回滚(Rollback)
- ✅ prev_image 自动记录用于回滚
- ✅ Jenkins Build Callback 接口
🧠 架构能力
- Controller → Service → DAO 分层清晰
- Redis Stream 消费组模型
- Worker 幂等控制 + 状态 CAS 更新
- 发布单与任务分离模型
- 支持多集群并发控制
🔄 CICD 流程
- 创建 Release
- (可选)Jenkins 构建
- Worker 消费执行部署
- 自动状态收敛
- 支持重试 / 回滚
🛠 数据库变更
新增表:
- cicd_release
- cicd_release_task
- cicd_release_step
- cicd_build
⚠️ 注意事项
- request_id 字段必须保证唯一(建议使用 UUID)
- 需配置 Redis Stream
- 需启动 Worker 进程
- 回滚依赖 prev_image 字段
🧪 测试通过
- 单集群部署验证
- 多次回滚验证
- 取消后不继续执行验证
- 幂等 request_id 验证
📦 部署方式
git pull
go build -o k8soperation
./k8soperation