Skip to content

v1.0.0

Choose a tag to compare

@jay-codemine jay-codemine released this 22 Feb 10:20
· 483 commits to main since this release

🚀 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 流程

  1. 创建 Release
  2. (可选)Jenkins 构建
  3. Worker 消费执行部署
  4. 自动状态收敛
  5. 支持重试 / 回滚

🛠 数据库变更

新增表:

  • 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