Files
Developer 1117bd0bd7 refactor: 端口改为内部映射,通过 Nginx 反向代理访问
- docker-compose.test.yml: API 和 MongoDB 端口改为 expose(仅容器内部可见)
- webhook-server.js: 端口改为 19001,绑定 127.0.0.1(仅本机访问)
- 新增 deploy/nginx-test.conf Nginx 反向代理配置
  - API: miniapp-api-test.dxz99wyr.cn → miniapp-api_test:3001
  - Webhook: miniapp-api-test-webhook.dxz99wyr.cn/webhook → 127.0.0.1:19001
- 更新 setup.sh 和 README.md 文档
2026-05-18 20:51:54 +08:00
..

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:

    GIT_REPO="git@github.com:your-username/miniapp-api_test.git"
    
  • deploy/webhook.service:

    Environment="WEBHOOK_SECRET=你的webhook密钥"
    
  • deploy/webhook-server.js (可选):

    const SECRET = process.env.WEBHOOK_SECRET || '你的webhook密钥';
    

2. 上传代码到服务器

# 方式1: 直接上传
scp -r ./* root@your-server-ip:/opt/miniapp-api_test/

# 方式2: 先推送到 git,再在服务器克隆

3. 运行初始化脚本

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: https://miniapp-api-test-webhook.dxz99wyr.cn/webhook
  • Content type: application/json
  • Secret: 你设置的 WEBHOOK_SECRET
  • 触发事件: Push events (main 分支)

5. 开放防火墙端口

# 仅需开放 80/443 端口,所有服务通过 Nginx 反向代理
ufw allow 80/tcp
ufw allow 443/tcp

6. 配置 Nginx 反向代理 (推荐)

# 复制到服务器的 Nginx 配置目录
# cp deploy/nginx-test.conf /opt/ALiYunManager/nginx/conf.d/miniapp-api-test.conf
# docker exec main-nginx nginx -t && docker exec main-nginx nginx -s reload

server {
    listen 80;
    server_name miniapp-api-test.dxz99wyr.cn;

    location / {
        proxy_pass http://miniapp-api_test: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;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

server {
    listen 80;
    server_name miniapp-api-test-webhook.dxz99wyr.cn;

    location /webhook {
        proxy_pass http://127.0.0.1:19001/webhook;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

常用命令

# 查看 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

升级正式版本

当测试版本稳定后,执行以下操作升级到正式版:

# 1. 推送测试版本代码到正式仓库
cd /opt/miniapp-api_test
git push 正式仓库地址 main

# 2. 在正式环境重新构建
# (正式环境的部署方式保持不变)

或者由开发者手动推送:

git remote add production <正式仓库地址>
git push production main