1117bd0bd7
- 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 文档
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