# 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**: `https://miniapp-api-test-webhook.dxz99wyr.cn/webhook` - **Content type**: `application/json` - **Secret**: 你设置的 `WEBHOOK_SECRET` - **触发事件**: Push events (main 分支) ### 5. 开放防火墙端口 ```bash # 仅需开放 80/443 端口,所有服务通过 Nginx 反向代理 ufw allow 80/tcp ufw allow 443/tcp ``` ### 6. 配置 Nginx 反向代理 (推荐) ```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; } } ``` ## 常用命令 ```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 ```