部署模式(Deployment Patterns)是一套生产部署工作流与 CI/CD 最佳实践参考,资料语言为中文,涉及部署策略、容器化、流水线、健康检查、配置管理与回滚等内容。
触发场景:设置 CI/CD 流水线、对应用做 Docker 容器化、规划蓝绿/金丝雀/滚动更新策略、实现健康检查与就绪探针、准备生产发布、配置环境特定设置。
主要能力:
- 部署策略说明。滚动部署为默认方案,新旧版本并存,零停机但要求向后兼容;蓝绿部署运行两套完全相同的环境并原子切换流量,回滚瞬时但需 2 倍基础设施;金丝雀部署先路由小比例流量到新版本,再逐步放量,需要流量切分与监控基础设施。
- Docker 多阶段构建示例(Node.js、Go、Python/Django),并给出最佳实践:使用具体版本标签(如 node:22-alpine 而非 latest)、多阶段构建、非 root 用户运行、先复制依赖文件以利用层缓存、.dockerignore、HEALTHCHECK、资源限制;避免以 root 运行、使用 latest 标签、单层复制整个仓库、在生产镜像装开发依赖、镜像内存放机密。
- CI/CD 流水线。给出 GitHub Actions 标准流水线示例,包含 test、build、deploy 三个阶段,示例命令如 npm ci、npm run lint、npm run typecheck、npm test -- --coverage,镜像推送使用 docker/build-push-action@v5。流水线阶段示例:PR 开启时 lint→typecheck→单元测试→集成测试→预览部署;合并到 main 后追加构建镜像→预发部署→冒烟测试→生产部署。
- 健康检查与探针。给出 /health 与 /health/detailed 示例,后者检查 database、redis、externalApi 并以 200/503 返回状态;以及 Kubernetes 的 livenessProbe、readinessProbe、startupProbe 配置参数示例。
- 环境配置。遵循 Twelve-Factor App,所有配置通过环境变量传递,严禁写死在代码中;使用 zod 做启动时配置校验,配置错误则快速失败。
- 回滚与自检清单。瞬时回滚命令示例:kubectl rollout undo deployment/app、vercel rollback、railway up --commit <previous-sha>、npx prisma migrate resolve --rolled-back <migration-name>;回滚自检清单关注镜像可用、迁移向后兼容、特性标志可关闭、错误率告警与预发回滚测试。生产就绪清单覆盖应用程序、基础设施、监控、安全与运维五个方面。
使用方式:资料以参考手册形式组织,包含 Dockerfile、GitHub Actions、健康检查接口、K8s 探针与配置校验的具体片段,可按需取用;平台特定的部署命令需按实际平台替换。
限制:资料未提供该技能的安装命令、运行环境要求、收费方式、支持的平台范围及具体效果数据,这些信息暂未提供。