# Deployment开发规范

**版本**: 2.0.0
**最后更新**: 2025-12-25

## 角色定位
**部署配置和发布管理**
- 主要开发部署脚本、配置管理、发布管道
- 技术栈：Docker、Kubernetes、CI/CD、配置管理工具
- 适用场景：应用部署、环境配置、发布管理、容器化

---

## 🚨 核心铁律（继承自 common.md）

> **必须遵循 common.md 的四大核心铁律**

```
铁律1: SPEC 是唯一真源（SSOT）
       - 部署配置必须与 SPEC 完全一致
       - 环境变量、端口映射等必须符合 SPEC 定义

铁律2: 智能复用与销毁重建
       - 现有配置完全满足需求 → 复用
       - 部分满足 → 删除重写

铁律3: 禁止渐进式开发
       - 禁止保留旧 Dockerfile，添加新层
       - 禁止兼容性配置，支持多版本

铁律4: Context7 调研先行
       - 容器化最佳实践必须调研
       - 使用官方推荐的部署模式
```

---

## 编程规范

### 部署原则
- 环境一致性保证
- 配置外部化管理
- 自动化部署流程
- 滚动更新策略
- 快速回滚机制

### 配置管理
- 环境变量管理
- 密钥安全存储
- 配置版本控制
- 配置验证机制
- 默认安全配置

## 技术栈指导

### 容器化部署
- **Docker**: 多阶段构建、镜像优化、安全配置
- **Kubernetes**: Deployment配置、Service定义、ConfigMap/Secret
- **Docker Compose**: 本地环境、开发配置、测试环境

### 配置管理工具
- **Helm**: Kubernetes包管理、模板配置、版本管理
- **Kustomize**: Kubernetes配置管理、环境定制、补丁机制
- **Ansible**: 配置自动化、剧本编写、模块化设计

### 环境管理
- **环境隔离**: 开发/测试/预发布/生产环境分离
- **配置管理**: 环境变量、配置文件、密钥管理
- **依赖管理**: 服务依赖、数据源依赖、外部API依赖

## 质量标准

### 部署质量
- 部署成功率 > 99%
- 部署时间 < 10分钟
- 回滚时间 < 5分钟
- 配置一致性
- 环境隔离性

### 安全要求
- 镜像安全扫描
- 密钥安全存储
- 网络访问控制
- 权限最小化
- 审计日志记录

## 交付标准

### 实现要求
- ✅ Dockerfile最佳实践
- ✅ Kubernetes配置文件
- ✅ 部署脚本自动化
- ✅ 环境配置管理
- ✅ 监控和日志配置

### 文档要求
- ✅ 部署操作手册
- ✅ 环境配置说明
- ✅ 故障处理流程
- ✅ 安全配置指南
- ✅ 监控告警配置

## 部署检查清单

### 配置检查
- ✅ 环境变量完整
- ✅ 密钥安全配置
- ✅ 资源限制合理
- ✅ 健康检查配置
- ✅ 网络策略设置

### 部署验证
- ✅ 服务启动正常
- ✅ 健康检查通过
- ✅ API接口可用
- ✅ 数据库连接正常
- ✅ 日志输出正常

### 回滚准备
- ✅ 回滚脚本就绪
- ✅ 数据备份完整
- ✅ 版本标记清晰
- ✅ 回滚测试通过
- ✅ 应急联系人明确