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
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
# 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
|
||||
```
|
||||
Reference in New Issue
Block a user