Some checks failed
Build and Deploy / test-backend (push) Has been cancelled
Build and Deploy / build-backend (push) Has been cancelled
Build and Deploy / build-admin (push) Has been cancelled
Deploy to Production / build-backend (push) Has been cancelled
Deploy to Production / deploy (push) Has been cancelled
Co-authored-by: Cursor <cursoragent@cursor.com>
151 lines
3.7 KiB
Markdown
151 lines
3.7 KiB
Markdown
# 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(可选)
|