Files
miniapp-api/deploy/README.md
T
Developer e73149f91d feat: 添加 miniapp-api_test 测试环境自动化部署配置
- 新增 docker-compose.test.yml 测试环境配置
  - API 端口: 3001
  - MongoDB 端口: 27019
  - 独立数据卷隔离
  - SERVER_URL: https://miniapp-api-test.dxz99wyr.cn
- 新增 deploy/webhook-server.js Webhook 自动部署服务
- 新增 deploy/webhook.service systemd 服务配置
- 新增 deploy/setup.sh 一键初始化脚本
- Webhook Secret 与正式版保持一致: miniapp-api-deploy-secret
2026-05-18 20:42:40 +08:00

121 lines
2.6 KiB
Markdown

# MiniApp API Test 自动化部署配置
## 文件说明
| 文件 | 说明 |
|------|------|
| `docker-compose.test.yml` | 测试环境 Docker Compose 配置 |
| `deploy/webhook-server.js` | Webhook 服务器,接收 Git 推送并自动部署 |
| `deploy/webhook.service` | systemd 服务配置,保持 webhook 常驻运行 |
| `deploy/setup.sh` | 一键初始化脚本 |
## 云服务器部署步骤
### 1. 修改配置
编辑以下文件,替换为你的实际信息:
- **`deploy/setup.sh`**:
```bash
GIT_REPO="git@github.com:your-username/miniapp-api_test.git"
```
- **`deploy/webhook.service`**:
```ini
Environment="WEBHOOK_SECRET=你的webhook密钥"
```
- **`deploy/webhook-server.js`** (可选):
```javascript
const SECRET = process.env.WEBHOOK_SECRET || '你的webhook密钥';
```
### 2. 上传代码到服务器
```bash
# 方式1: 直接上传
scp -r ./* root@your-server-ip:/opt/miniapp-api_test/
# 方式2: 先推送到 git,再在服务器克隆
```
### 3. 运行初始化脚本
```bash
ssh root@your-server-ip
cd /opt/miniapp-api_test
chmod +x deploy/setup.sh
./deploy/setup.sh
```
### 4. 配置 Git Webhook
在 Git 仓库设置中添加 Webhook:
- **Payload URL**: `http://your-server-ip:9001/webhook`
- **Content type**: `application/json`
- **Secret**: 你设置的 `WEBHOOK_SECRET`
- **触发事件**: Push events (main 分支)
### 5. 开放防火墙端口
```bash
# 开放 9001 端口(webhook)和 3001 端口(API)
ufw allow 9001/tcp
ufw allow 3001/tcp
```
### 6. 配置 Nginx 反向代理 (推荐)
```nginx
server {
listen 80;
server_name miniapp-api-test.dxz99wyr.cn;
location / {
proxy_pass http://localhost:3001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
```
## 常用命令
```bash
# 查看 webhook 日志
journalctl -u miniapp-api_test-webhook -f
# 查看容器状态
docker-compose -f docker-compose.test.yml ps
# 查看容器日志
docker logs -f miniapp-api_test
# 手动重启容器
docker-compose -f docker-compose.test.yml restart
# 手动触发部署
cd /opt/miniapp-api_test && docker-compose -f docker-compose.test.yml up -d --build
```
## 升级正式版本
当测试版本稳定后,执行以下操作升级到正式版:
```bash
# 1. 推送测试版本代码到正式仓库
cd /opt/miniapp-api_test
git push 正式仓库地址 main
# 2. 在正式环境重新构建
# (正式环境的部署方式保持不变)
```
或者由开发者手动推送:
```bash
git remote add production <正式仓库地址>
git push production main
```