ci: avoid external Dockerfile frontend pull

This commit is contained in:
2026-07-30 21:42:05 +08:00
parent 3059e4e834
commit d32c638096
+6 -8
View File
@@ -1,20 +1,18 @@
# syntax=docker/dockerfile:1.7
# 构建 Vue 静态文件
FROM node:22-alpine AS build
WORKDIR /app
# Corepack 随 Node 一起提供,用它固定使用项目的 pnpm。
ENV PNPM_HOME=/pnpm
ENV PATH=$PNPM_HOME:$PATH
# Corepack 与 pnpm 依赖均通过 npmmirror 下载,避免构建时访问 npm 官方源过慢。
ENV COREPACK_NPM_REGISTRY=https://registry.npmmirror.com
ENV NPM_CONFIG_REGISTRY=https://registry.npmmirror.com
RUN corepack enable
COPY package.json pnpm-lock.yaml ./
COPY shared/package.json ./shared/package.json
# pnpm store 使用 BuildKit 持久缓存;依赖未变化时不会重新下载。
RUN --mount=type=cache,id=admin-web-pnpm-store,target=/pnpm/store \
pnpm config set store-dir /pnpm/store && \
# package.json 和 lock 文件未变化时,这一层会由 Docker 自动复用,
# 因此不会重复下载 pnpm 依赖。
RUN pnpm config set registry https://registry.npmmirror.com && \
pnpm install --frozen-lockfile
COPY . .