feat: 标准化部署流程和文档化 #36

Closed
xiaoxia wants to merge 402 commits from feature/deployment-standardization into develop
Owner

概述

本 PR 实现了部署流程的标准化和文档化,解决了之前审计中发现的部署流程缺乏标准化和文档化的问题。

主要变更

1. 添加完整部署文档 (docs/deployment.md)

  • 环境要求(服务器配置、Docker 版本、网络要求)
  • 首次部署流程
  • 版本更新流程(CI/CD 自动部署和手动部署)
  • 回滚流程
  • 常见问题排查(包含 403 错误处理)
  • 环境变量完整说明

2. 添加标准化部署脚本

  • scripts/deploy_production.sh - 生产环境部署脚本

    • 前置条件检查
    • 系统资源检查
    • 镜像验证
    • 数据库迁移
    • 自动健康检查
    • 失败处理
  • scripts/deploy_staging.sh - 预发布环境部署脚本

    • 基础设施容器检查
    • 镜像构建选项
    • 数据库迁移
  • scripts/rollback.sh - 回滚脚本

    • 交互式和命令行两种模式
    • 版本列表查看
    • 自动备份
    • 健康检查

3. 完善 compose.yml

  • 添加详细注释说明
  • 添加资源限制建议(注释形式)
  • 添加 web volume 挂载警告(避免 403 问题)

4. 完善 GitHub Actions 发布流程

  • 构建所有三个镜像(api、worker、web)
  • 自动部署到生产环境
  • E2E 测试
  • 自动创建 GitHub Release

解决的问题

  • web-dist volume 错误挂载导致 403
  • 生产部署靠手动拼 docker run 命令
  • release.yml 只构建单一镜像
  • 没有标准的部署文档

测试建议

  1. 在 staging 环境测试部署脚本
  2. 验证回滚脚本的交互式模式
  3. 检查文档完整性
## 概述 本 PR 实现了部署流程的标准化和文档化,解决了之前审计中发现的部署流程缺乏标准化和文档化的问题。 ## 主要变更 ### 1. 添加完整部署文档 (`docs/deployment.md`) - 环境要求(服务器配置、Docker 版本、网络要求) - 首次部署流程 - 版本更新流程(CI/CD 自动部署和手动部署) - 回滚流程 - 常见问题排查(包含 403 错误处理) - 环境变量完整说明 ### 2. 添加标准化部署脚本 - `scripts/deploy_production.sh` - 生产环境部署脚本 - 前置条件检查 - 系统资源检查 - 镜像验证 - 数据库迁移 - 自动健康检查 - 失败处理 - `scripts/deploy_staging.sh` - 预发布环境部署脚本 - 基础设施容器检查 - 镜像构建选项 - 数据库迁移 - `scripts/rollback.sh` - 回滚脚本 - 交互式和命令行两种模式 - 版本列表查看 - 自动备份 - 健康检查 ### 3. 完善 compose.yml - 添加详细注释说明 - 添加资源限制建议(注释形式) - 添加 web volume 挂载警告(避免 403 问题) ### 4. 完善 GitHub Actions 发布流程 - 构建所有三个镜像(api、worker、web) - 自动部署到生产环境 - E2E 测试 - 自动创建 GitHub Release ## 解决的问题 - ✅ web-dist volume 错误挂载导致 403 - ✅ 生产部署靠手动拼 docker run 命令 - ✅ release.yml 只构建单一镜像 - ✅ 没有标准的部署文档 ## 测试建议 1. 在 staging 环境测试部署脚本 2. 验证回滚脚本的交互式模式 3. 检查文档完整性
xiaoxia added 1 commit 2026-06-27 00:10:12 +08:00
feat: 标准化部署流程和文档化
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
d6f28e8f37
- 添加 docs/deployment.md 完整部署文档,包含:
  - 环境要求
  - 首次部署流程
  - 版本更新流程
  - 回滚流程
  - 常见问题排查
  - 环境变量说明

- 添加标准化部署脚本:
  - scripts/deploy_production.sh: 生产环境部署脚本
  - scripts/deploy_staging.sh: 预发布环境部署脚本
  - scripts/rollback.sh: 回滚脚本(支持交互式和命令行模式)

- 完善 infra/docker/compose.yml:
  - 添加详细注释说明
  - 添加资源限制建议(注释)
  - 记录 web volume 挂载的注意事项(避免 403 问题)

- 添加 .github/workflows/release.yml:
  - 完整的发布流程
  - 构建所有三个镜像(api、worker、web)
  - 自动部署到生产环境
  - E2E 测试和 GitHub Release 创建
xiaoxia closed this pull request 2026-06-27 00:27:50 +08:00
Some checks are pending
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled

Pull request closed

Sign in to join this conversation.