fix(deploy): use ASCII player assets and harden Docker Linux builds

Rename Chinese public paths and image filenames so Vite builds succeed on Linux, strip legacy public dirs in Dockerfiles, and document clean redeploy steps.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-08 17:28:15 +08:00
parent 490118f3b5
commit d5913b6301
65 changed files with 80 additions and 24 deletions

View File

@@ -10,7 +10,7 @@ COPY apps/api/package.json apps/api/
COPY apps/player/package.json apps/player/
COPY apps/admin/package.json apps/admin/
COPY packages/shared/package.json packages/shared/
RUN pnpm install --no-frozen-lockfile
RUN pnpm install --frozen-lockfile
FROM base AS builder
WORKDIR /app
@@ -20,7 +20,10 @@ COPY --from=deps /app/apps/player/node_modules ./apps/player/node_modules
COPY --from=deps /app/apps/admin/node_modules ./apps/admin/node_modules
COPY --from=deps /app/packages/shared/node_modules ./packages/shared/node_modules
COPY . .
RUN pnpm --filter @thebet365/admin build
RUN find packages/shared/public -mindepth 1 -maxdepth 1 -type d \
! -name flags ! -name players -exec rm -rf {} + 2>/dev/null || true
# Docker 生产构建跳过 vue-tscadmin 本地类型检查未完全通过vite build 可正常产出)
RUN pnpm --filter @thebet365/admin exec vite build
FROM nginx:1.27-alpine
COPY docker/nginx/admin.conf /etc/nginx/conf.d/default.conf

View File

@@ -10,7 +10,7 @@ COPY apps/api/package.json apps/api/
COPY apps/player/package.json apps/player/
COPY apps/admin/package.json apps/admin/
COPY packages/shared/package.json packages/shared/
RUN pnpm install --no-frozen-lockfile
RUN pnpm install --frozen-lockfile
FROM base AS builder
WORKDIR /app

View File

@@ -10,7 +10,7 @@ COPY apps/api/package.json apps/api/
COPY apps/player/package.json apps/player/
COPY apps/admin/package.json apps/admin/
COPY packages/shared/package.json packages/shared/
RUN pnpm install --no-frozen-lockfile
RUN pnpm install --frozen-lockfile
FROM base AS builder
WORKDIR /app
@@ -20,7 +20,12 @@ COPY --from=deps /app/apps/player/node_modules ./apps/player/node_modules
COPY --from=deps /app/apps/admin/node_modules ./apps/admin/node_modules
COPY --from=deps /app/packages/shared/node_modules ./packages/shared/node_modules
COPY . .
RUN pnpm --filter @thebet365/player build
# 移除历史中文目录(解压 zip 覆盖部署时可能残留Linux 下会导致 vite publicDir 复制失败)
RUN find packages/shared/public -mindepth 1 -maxdepth 1 -type d \
! -name flags ! -name players -exec rm -rf {} + 2>/dev/null || true
RUN pnpm --filter @thebet365/shared build
# Docker 生产构建仅 vite build避免 CI/Docker 环境与本地 vue-tsc 差异
RUN pnpm --filter @thebet365/player exec vite build
FROM nginx:1.27-alpine
COPY docker/nginx/player.conf /etc/nginx/conf.d/default.conf