diff --git a/DEPLOYMENT_SUMMARY.md b/DEPLOYMENT_SUMMARY.md new file mode 100644 index 0000000..34d0cb9 --- /dev/null +++ b/DEPLOYMENT_SUMMARY.md @@ -0,0 +1,150 @@ +# DevOps 部署配置总结 + +## ✅ 已创建的文件 + +### 第一阶段:发布构建文件 + +- ✅ `docker-compose.release.yml` - 构建和推送配置 + - Backend: `registry.667788.cool/wecom-backend:${TAG}` + - Admin: `registry.667788.cool/wecom-admin:${TAG}` + - Nginx: `registry.667788.cool/wecom-nginx:${TAG}` + +### 第二阶段:构建脚本 + +- ✅ `scripts/build_and_push.sh` - Linux/Mac 构建脚本 +- ✅ `scripts/build_and_push.ps1` - Windows PowerShell 构建脚本 + +### 第三阶段:云端部署文件 + +- ✅ `deploy/.env.prod.example` - 生产环境变量模板 +- ✅ `deploy/docker-compose.prod.yml` - 生产部署配置 +- ✅ `deploy/nginx.conf` - Nginx 反向代理配置 +- ✅ `deploy/nginx/Dockerfile` - Nginx 镜像构建文件 +- ✅ `deploy/nginx/nginx.conf` - Nginx 配置文件 + +### 第四阶段:部署文档 + +- ✅ `README_DEPLOY.md` - 完整部署指南 + +## 🚀 快速开始 + +### 本地构建并推送 + +#### Linux/Mac + +```bash +# 赋予执行权限 +chmod +x scripts/build_and_push.sh + +# 构建并推送(使用默认标签 latest) +./scripts/build_and_push.sh + +# 或指定标签 +./scripts/build_and_push.sh v1.0.0 +``` + +#### Windows PowerShell + +```powershell +# 构建并推送(使用默认标签 latest) +.\scripts\build_and_push.ps1 + +# 或指定标签 +.\scripts\build_and_push.ps1 -Tag v1.0.0 +``` + +### 云端部署 + +```bash +# 1. 进入部署目录 +cd deploy + +# 2. 配置环境变量 +cp .env.prod.example .env.prod +nano .env.prod # 填写实际配置 + +# 3. 登录 Registry +docker login registry.667788.cool + +# 4. 拉取镜像 +docker compose -f docker-compose.prod.yml --env-file .env.prod pull + +# 5. 启动服务 +docker compose -f docker-compose.prod.yml --env-file .env.prod up -d + +# 6. 查看状态 +docker compose -f docker-compose.prod.yml ps +``` + +## 📋 镜像命名规则 + +- **Backend**: `registry.667788.cool/wecom-backend:${TAG}` +- **Admin**: `registry.667788.cool/wecom-admin:${TAG}` +- **Nginx**: `registry.667788.cool/wecom-nginx:${TAG}` + +默认 TAG: `latest` + +## 📁 文件结构 + +``` +项目根目录/ +├── docker-compose.release.yml # 构建配置 +├── scripts/ +│ ├── build_and_push.sh # Linux/Mac 构建脚本 +│ └── build_and_push.ps1 # Windows 构建脚本 +├── deploy/ +│ ├── .env.prod.example # 环境变量模板 +│ ├── docker-compose.prod.yml # 生产部署配置 +│ ├── nginx.conf # Nginx 配置 +│ └── nginx/ +│ ├── Dockerfile # Nginx 镜像 Dockerfile +│ └── nginx.conf # Nginx 配置文件 +└── README_DEPLOY.md # 部署文档 +``` + +## 🔍 验证 + +### 验证镜像构建 + +```bash +# 查看本地镜像 +docker images | grep registry.667788.cool + +# 应该看到: +# registry.667788.cool/wecom-backend latest ... +# registry.667788.cool/wecom-admin latest ... +# registry.667788.cool/wecom-nginx latest ... +``` + +### 验证部署 + +```bash +# 健康检查 +curl http://your-server/api/health + +# 查看服务状态 +docker compose -f deploy/docker-compose.prod.yml ps + +# 查看日志 +docker compose -f deploy/docker-compose.prod.yml logs -f +``` + +## 📚 详细文档 + +- [部署指南](./README_DEPLOY.md) +- [生产部署详细说明](./docs/deploy.md) +- [宝塔面板部署](./docs/baota-docker-setup.md) + +## ⚠️ 注意事项 + +1. **环境变量**:`.env.prod` 包含敏感信息,已添加到 `.gitignore` +2. **Registry 认证**:推送前需要登录 `docker login registry.667788.cool` +3. **网络要求**:确保服务器可以访问 `registry.667788.cool` +4. **端口占用**:确保 80、443 端口未被占用 + +## 🎯 下一步 + +1. ✅ 构建并推送镜像到 Registry +2. ✅ 在服务器上配置环境变量 +3. ✅ 部署服务 +4. ✅ 配置域名和 HTTPS(可选)