feat: proxy embed assets to in-cluster project57 [deploy]
CI Pipeline / check-commit (push) Successful in 7s
CI Pipeline / deploy-only (push) Has been skipped
CI Pipeline / build (push) Successful in 27s
CI Pipeline / deploy (push) Failing after 2s

This commit is contained in:
mdszxy committed 2026-10-05 17:42:36 +08:00
1 parent f717f1d481
commit fe18e608dc
8 files changed
+67 -36

No files matched your search

+14 -14
View File
@@ -1,22 +1,24 @@
# project57-x
B 站宿主:跨域加载 A 站(project57)打包的前台 SPA。
B 站宿主:浏览器只访问本站。A 站(project57)**不需要公网域名**。
CI 对齐 **project0**(本地 `projectBase`):提交信息带 `[deploy]` 会构建镜像并部署到 K8s。
本仓是 Vite 静态站,构建产物为 `dist/`,Docker 用 nginx 监听 **3000**,并提供 `/api/health` 给探针。
- 页面从 **同源** 加载 `/embed/aurora.js`
- nginx(生产)或 Vite proxy(本地)把 `/embed`、`/images`、`/api/contact` 转到集群内 A 站
- 以后给 B 站绑域名即可,不用改前端
仓库 Secrets 需配置(与 project0 相同,外加 A 站地址):
CI 对齐 project0:提交带 `[deploy]` 会构建镜像并部署。nginx 监听 **3000**,`/api/health` 给探针。
- `LFS_PAT`
- `KUBECONFIG_BASE64`
- `VITE_A_ORIGIN`(可选):覆盖 `.env.production` 里的 A 站地址
- 默认生产源站:`https://swissicapital.net`(加载 `/embed/aurora.js`)
仓库 Secrets:`LFS_PAT`、`KUBECONFIG_BASE64`。
A 站需已部署嵌入包(`pnpm build` 会先跑 `build:embed`)。
K8s 可设置环境变量覆盖 A 站地址(默认已按 CI 命名规则写好):
```
A_UPSTREAM=http://project57-deploy.ns-project57.svc.cluster.local:3000
```
## 本地运行
1. A 站先打包嵌入脚本并启动:
1. A 站打包并启动:
```bash
cd ../project57
@@ -24,13 +26,11 @@ pnpm build:embed
pnpm dev
```
2. 本仓库安装并启动(默认 http://localhost:4173):
2. 本仓库:
```bash
pnpm install
pnpm dev
```
3. 若 A 站端口不是 `3000`,复制 `.env.example` 为 `.env`,改 `VITE_A_ORIGIN`。
页面会加载 `${VITE_A_ORIGIN}/embed/aurora.js`,图片和联系表单也走 A 站。路由为 hash,例如 `http://localhost:4173/#/kontakt`。
默认 http://localhost:4173 ,并代理到 `http://localhost:3000`。A 站端口不同则改 `.env` 里的 `VITE_A_ORIGIN`。