📐 横向维度:单服务全生命周期 (Code → Production)
📏 纵向维度:需求到交付闭环 (Requirement → Delivery)
🗓️ 实施路线图
个人使用ai agent的流水线
🌍 环境流转与晋升 (Promotion Pipeline)
彩蛋 - 自用skills cli工具分享
开场与议程
📋 需求管理层
📝 Conventional Commits & 双向链接
📰 Changelog 聚合 & 通知
🎯 GitOps 交付层
🔄 CI/CD Pipeline - 纵向维度
🧰 核心工具链
🧱 最小可部署单元 (MDU)
💻 开发阶段
🔄 核心流程
Idea → Issue → Branch
↓
Code → Test → Review
↓
Merge → Build → Push
↓
Kargo → ArgoCD → Deploy
↓
Monitor → Feedback → Iterate
贯彻[[声明式 和 推送式 思想]]的声明式:
- 继承k8s的实现思路,用声明式的方式watch环境
- watch main分支
- watch 镜像仓库
- watch gitops的yaml配置仓库
5️⃣ Notify
- Slack/飞书/钉钉 通知
- 变更内容摘要
- 关联 Issue 列表
- 部署状态更新
4️⃣ Publish
- 生成 CHANGELOG.md
- 提取关联 Issue IDs
- 创建 release-notes.json
- 版本号:
v1.2.3-abc1234
1️⃣ Validate
- Code Lint
- golangci-lint
- ruff (Python)
- Commit Lint
- conventional
3️⃣ Build
- Docker Build
- Multi-stage
- Layer Cache
- Push Registry
argocd
kargo
kargo controller
aws staging 集群
gitops配置仓库main分支更新
argocd controll
镜像仓库新版本
代码合入main分支
k3s local集群
aws production 集群
2️⃣ Test
- 单元测试
- 集成测试
- 覆盖率报告
- Cobertura
🐙 ArgoCD
GitOps 同步引擎
- Watch GitOps Repo
- 自动 Sync 到 K8s
- 漂移检测 & 自愈
- 回滚支持
Minimum Deployable Unit
三位一体变更单元
🧪 Staging (AWS)
触发: Main Branch Merge → 自动
用途: 集成验证 & UAT
验证: 集成测试 + E2E
运行时间: ≥ 2小时无告警
🗄️ Database Schema Migration
| 语言 | 工具 | 特点 |
|---|---|---|
| Golang | golang-migrate / Atlas | 轻量/声明式 |
| Python | Alembic | SQLAlchemy生态 |
⚙️ ConfigMap/Secrets
- 环境变量配置
- 版本:
Git Commit Hash - 管理: Kustomize overlay
📦 Container Image
- OCI Artifact
- 版本:
SemVer + Git SHA - 存储: Container Registry
🏠 Local Cluster
触发: Feature Branch Push
用途: 开发调试
验证: 单元测试
工具: k3d / kind
🏗️ Terraform
AWS 基础设施即代码
- EKS 集群管理
- RDS/ElastiCache
- VPC/Security Groups
- IAM Roles
🛠️ 开发工具推荐
| 工具 | 用途 | 场景 |
|---|---|---|
| Tilt | 本地K8s开发自动化 | 多服务开发 |
| Telepresence | 注入远程集群 | 访问远程资源 |
| Skaffold | 开发工作流 | CI/CD本地模拟 |
☸️ 本地K8s集群
集群选择:
- k3d (推荐)
- kind
- minikube
完整依赖上下文: 其他微服务、DB、MQ、Cache
🖥️ 本地开发环境
- IDE / 编辑器
- 代码编写
- 单元测试
- 热重载调试
go test ./...
pytest tests/
📁 GitOps Repo
Kustomize 配置管理
gitops-repo/
├── base/
│ └── deployment.yaml
├── overlays/
│ ├── staging/
│ └── production/
└── kustomization.yaml
🚢 Kargo
镜像版本监控 & 晋升管理
apiVersion: kargo.akuity.io/v1alpha1
kind: Stage
spec:
subscriptions:
warehouse: images
promotionMechanisms:
gitRepoUpdates: [...]
从需求到生产:GitOps驱动的端到端交付体系
![[端到端可靠交付蓝图.png]]
横向维度: 单服务全生命周期
- 代码->上线 - 循环
- 最小可部署单元
- 开发阶段就上k8s,保证配置一致性。
- GitOps 具体使用
纵向维度: 需求到交付闭环
- 需求 kanban - 循环
- 需求 -> issue
- commit 和issue
- 交付上线通知
- issue 自动close
ai agent 使用
- vibe kanban - 循环
- 需求,补充上下文和工具
- deepresearch & plan mode
- 执行并review后合入
变更完后,进行端到端的验证
- cursor
- manus
done
deepresearch
plan mode
in progess
🛠️ 技术栈清单
需求管理
- Linear ⭐ (推荐)
- GitLab Issues ✅
代码托管 & CI/CD
- GitLab ✅
- GitLab CI ✅
- GitLab Registry ✅
GitOps
- ArgoCD ✅
- Kargo ✅
- Kustomize ✅
基础设施
- Terraform ✅
- Kubernetes (AWS EKS) ✅
服务网格 & 渐进交付
- Istio
- Argo Rollouts
数据库迁移
- golang-migrate (Go)
- Alembic (Python)
Changelog
- conventional-changelog
本地开发
- k3d / Tilt ✅

dailynote
传统清单管理
📄 单服务 Changelog
每个服务 Tag 时自动生成:
// release-notes.json
{
"service": "user-service",
"version": "v1.2.3",
"date": "2024-01-15",
"changelog": "...",
"related_issues": ["ENG-123"]
}
📋 聚合 Changelog 示例
# Platform Release v2024.01.15
## ✨ New Features
- **[user-service]** OAuth2 登录支持 (ENG-123)
- **[order-service]** Apple Pay 支付 (ENG-789)
## 🐛 Bug Fixes
- **[user-service]** 修复头像上传问题 (ENG-456)
## 📦 Services Updated
| Service | From | To |
|---------|------|-----|
| user-service | v1.2.2 | v1.2.3 |
| order-service | v2.0.0 | v2.0.1 |

📦 Epic
业务需求
- 大型业务目标
- 跨团队协作
- 季度/年度规划
ENG-1
🔄 Release Aggregator
platform-releases/
├── scripts/
│ ├── aggregate.py
│ └── notify.py
├── manifests/
│ └── 2024/01/
└── changelogs/
└── 2024/01/
聚合 20 个服务的变更
🔗 双向链接实现
┌─────────────────────────────────────────────────────────────────┐
│ Linear Issue (ENG-123) ◀───────────▶ GitLab Commit/MR │
├─────────────────────────────────────────────────────────────────┤
│ 正向: Issue → 查看关联的 Commits/MRs → 代码变更详情 │
│ 反向: Commit → 查看关联的 Issues → 原始需求/Bug描述 │
└─────────────────────────────────────────────────────────────────┘
🏷️ Type 类型定义 举例
| Type | 说明 | SemVer |
|---|---|---|
feat |
✨ 新功能 | MINOR |
fix |
🐛 Bug修复 | PATCH |
perf |
⚡ 性能优化 | PATCH |
refactor |
🔨 重构 | - |
docs |
📝 文档 | - |
breaking |
💥 破坏性 | MAJOR |
🔑 关联关键词
自动关闭 Issue:
Closes: ENG-123Fixes: ENG-123Resolves: ENG-123
引用关联:
Related: ENG-12Refs: ENG-456See: ENG-789
🎚️ 发布策略
| 策略 | 场景 | 实现 |
|---|---|---|
| Rolling | 日常发布 | K8s Deployment |
| Blue-Green | 快速回滚 | Argo Rollouts |
| Canary | 渐进验证 | Argo Rollouts + Istio |
| 全链路灰度 | A/B测试 | Istio VirtualService |
🚦 Quality Gates (晋升条件)
- ✅ 所有自动化测试通过
- ✅ Staging 运行 ≥2h 无告警
- ✅ 错误率 < 0.1%, P99延迟 < 500ms
- ✅ 至少一名 Reviewer 审批
🚀 Production (AWS)
触发: 手动审批
用途: 生产环境
验证: 质量门禁通过
回滚: ArgoCD一键回滚
🐛 Bug
缺陷单
- 问题追踪
- 严重等级
- 复现步骤
ENG-456
✅ Task
技术任务
- 具体开发任务
- 1-3天工作量
- 可分配给个人
ENG-123
📊 工具对比
| 工具 | GitLab集成 | 适合规模 | 推荐 |
|---|---|---|---|
| Linear | ✅ 原生 | 5-50人 | ⭐⭐⭐⭐⭐ |
| GitLab Issues | ✅ 原生 | 任意 | ⭐⭐⭐⭐ |
| Jira | ✅ 插件 | 50+人 | ⭐⭐⭐ |
| Notion | ⚠️ 有限 | 5-20人 | ⭐⭐⭐ |
🎯 需求分层结构
业务需求 → 产品需求 → 技术任务 → Bug单
🔄 Issue 状态自动流转
Backlog → Todo → In Progress (Branch Created) → In Review (MR Created) → Done (MR Merged) → Deployed (ArgoCD Sync)
🎁 Feature
产品需求
- 可交付的功能
- Sprint规划
- 用户故事
ENG-12
🎯 推荐工具: Linear
为什么选择 Linear:
- ✅ 现代化 UI,键盘优先
- ✅ 原生 GitLab 集成
- ✅ 自动状态流转
- ✅ 内置 Cycle Analytics
- ✅ 10人团队 ~$80/月
📢 通知渠道
| 渠道 | 用途 | 时机 |
|---|---|---|
| Slack/飞书 | 即时通知 | 每次部署完成 |
| 周报/汇总 | 每周一上午 | |
| Linear | Issue状态更新 | MR Merge / Deploy |
| GitLab | Release Note | Tag 创建 |