Files
wecom-ai-assistant/docs/deploy-quick-reference.md
2026-02-05 16:36:32 +08:00

107 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 生产部署快速参考
## 一、首次部署5 分钟)
```bash
# 1. 克隆项目
git clone https://github.com/your-org/wecom-ai-assistant.git
cd wecom-ai-assistant
# 2. 配置环境变量
cp .env.prod.example .env.prod
nano .env.prod # 填写必需变量
# 3. 启动服务
chmod +x deploy/scripts/*.sh
./deploy/scripts/start.sh
# 4. 配置 HTTPSLet's Encrypt
export DOMAIN=your-domain.com
export EMAIL=your-email@example.com
sudo certbot certonly --nginx -d $DOMAIN --email $EMAIL --agree-tos --non-interactive
# 5. 更新 Nginx 配置(使用实际域名替换 nginx.conf 中的 _
# 然后重启: docker-compose -f docker-compose.prod.yml restart nginx
```
## 二、常用命令
```bash
# 启动服务
./deploy/scripts/start.sh
# 停止服务
./deploy/scripts/stop.sh
# 更新服务
./deploy/scripts/update.sh latest
# 查看日志
docker-compose -f docker-compose.prod.yml logs -f backend
# 查看服务状态
docker-compose -f docker-compose.prod.yml ps
# 健康检查
curl https://your-domain.com/api/health
```
## 三、GitHub Actions 自动部署
### 配置 Secrets
在 GitHub 仓库设置中添加:
- `PROD_HOST`: 服务器 IP
- `PROD_USER`: SSH 用户名
- `PROD_SSH_KEY`: SSH 私钥
- `PROD_DOMAIN`: 生产域名
- `PROD_APP_PATH`: 应用路径(可选)
### 部署流程
1. 推送代码到 `main` 分支
2. GitHub Actions 自动构建并部署
3. 查看部署日志:`https://github.com/your-org/wecom-ai-assistant/actions`
## 四、关键文件
| 文件 | 说明 |
|------|------|
| `.env.prod` | 生产环境变量(不提交到 Git |
| `docker-compose.prod.yml` | 生产环境 Docker Compose 配置 |
| `deploy/docker/backend.Dockerfile` | Backend 生产镜像构建文件 |
| `deploy/docker/nginx.conf` | Nginx 生产配置 |
| `deploy/scripts/start.sh` | 启动脚本 |
| `deploy/scripts/update.sh` | 更新脚本 |
| `.github/workflows/deploy.yml` | GitHub Actions 部署 workflow |
## 五、故障排查
```bash
# 查看服务日志
docker-compose -f docker-compose.prod.yml logs backend
# 检查服务状态
docker-compose -f docker-compose.prod.yml ps
# 检查环境变量
docker-compose -f docker-compose.prod.yml config
# 检查 SSL 证书
sudo certbot certificates
# 测试健康检查
curl -v https://your-domain.com/api/health
```
## 六、回滚
```bash
# 回滚到指定版本
export IMAGE_TAG=v0.9.0
docker-compose -f docker-compose.prod.yml --env-file .env.prod pull
docker-compose -f docker-compose.prod.yml --env-file .env.prod up -d
```
**详细文档**:参见 `docs/deploy.md`