Merge pull request #349 from JefferyHcool/fix/docker-frontend-build

fix(docker): 修复 Tag push 触发的镜像构建失败
This commit is contained in:
Jianwu Huang
2026-05-07 14:04:38 +08:00
committed by GitHub
3 changed files with 10819 additions and 5 deletions

View File

@@ -1,5 +1,6 @@
# === 前端构建阶段 === # === 前端构建阶段 ===
FROM node:18-alpine AS builder # Tailwind v4 / Vite 6 需要 Node 20+alpine + pnpm 会按 lockfile 拉 musl native binary。
FROM node:20-alpine AS builder
RUN corepack enable && corepack prepare pnpm@latest --activate RUN corepack enable && corepack prepare pnpm@latest --activate

10810
BillNote_frontend/pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -26,15 +26,18 @@ RUN pip install --no-cache-dir -i ${PIP_INDEX} -r requirements.txt
COPY ./backend /tmp/backend COPY ./backend /tmp/backend
# === 阶段2构建 Frontend === # === 阶段2构建 Frontend ===
FROM node:18-alpine AS frontend-builder # Node 18-alpine 跑不动 Tailwind v4 / Vite 6前者要求 Node 20+,后者推荐 Node 20+
# 升到 node:20-alpine。alpine 走 muslpnpm 会按 lockfile 拉 *-linux-x64-musl native binary。
FROM node:20-alpine AS frontend-builder
RUN corepack enable && corepack prepare pnpm@latest --activate RUN corepack enable && corepack prepare pnpm@latest --activate
WORKDIR /tmp/frontend WORKDIR /tmp/frontend
# 先复制 package.json 利用依赖层缓存 # 先复制 package.json + lockfile 利用依赖层缓存
COPY ./BillNote_frontend/package.json ./ # --frozen-lockfile 保证 CI 与本地开发依赖版本一致,杜绝 semver 漂移引入的破坏性升级
RUN pnpm install COPY ./BillNote_frontend/package.json ./BillNote_frontend/pnpm-lock.yaml ./
RUN pnpm install --frozen-lockfile
COPY ./BillNote_frontend /tmp/frontend COPY ./BillNote_frontend /tmp/frontend