diff --git a/README.md b/README.md index cf1f2ad..e4de802 100644 --- a/README.md +++ b/README.md @@ -124,6 +124,24 @@ docker run -d \ docker compose up -d --build ``` +测试环境使用独立 compose 文件: + +```bash +docker compose -f docker-compose.test.yml up -d --build +``` + +测试环境默认后端网关是: + +```bash +BACKEND_GATEWAY=http://8.138.234.141/ingress +``` + +如果测试服务器上的网关地址不同,可以启动时覆盖: + +```bash +BACKEND_GATEWAY=http://测试网关地址 H5_PORT=10086 docker compose -f docker-compose.test.yml up -d --build +``` + `BACKEND_GATEWAY` 是容器内 Nginx 代理到的后端网关地址,不要以 `/` 结尾。生产环境如果前面还有宿主机 Nginx,宿主机 Nginx 只需要负责域名、HTTPS 证书,并把流量转发到 `127.0.0.1:10086`。 生产扫码建议通过 HTTPS 访问,否则部分移动浏览器或微信内置浏览器可能无法打开摄像头。 diff --git a/docker-compose.test.yml b/docker-compose.test.yml new file mode 100644 index 0000000..e734cc4 --- /dev/null +++ b/docker-compose.test.yml @@ -0,0 +1,13 @@ +services: + hotel-biz-h5-test: + build: + context: . + args: + BUILD_MODE: test + image: hotel-biz-h5:test + container_name: hotel-biz-h5-test + environment: + BACKEND_GATEWAY: ${BACKEND_GATEWAY:-http://8.138.234.141/ingress} + ports: + - "${H5_PORT:-10086}:10086" + restart: unless-stopped diff --git a/docs/frontend-practices.md b/docs/frontend-practices.md index 1086f3f..4aeac6f 100644 --- a/docs/frontend-practices.md +++ b/docs/frontend-practices.md @@ -34,6 +34,7 @@ - 如果直接把 `VITE_API_BASE_URL` 配成后端网关 IP 或域名,跨域就需要后端网关正确返回 CORS 头;这不是前端代码能完全解决的。 - SPA 路由需要 Nginx `location / { try_files $uri $uri/ /index.html; }`。 - Docker 部署时,容器内 Nginx 负责静态资源和接口前缀代理,运行时通过 `BACKEND_GATEWAY` 环境变量指定后端网关地址。 +- 测试环境使用 `docker-compose.test.yml`,构建参数为 `BUILD_MODE=test`,默认测试网关可通过启动时的 `BACKEND_GATEWAY` 覆盖。 - 如果生产服务器外层还有 Nginx,外层 Nginx 只负责域名、HTTPS 和转发到容器端口;接口前缀代理继续交给容器内 Nginx。 ## 移动端布局