From 3059e4e8341beb0086e04643a41922b50f87b0ba Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Thu, 30 Jul 2026 21:25:20 +0800 Subject: [PATCH] ci: cache pnpm packages during image builds --- Dockerfile | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 73f2bdaa..2b061dbc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,21 @@ +# 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 RUN corepack enable COPY package.json pnpm-lock.yaml ./ COPY shared/package.json ./shared/package.json -RUN pnpm install --frozen-lockfile +# pnpm store 使用 BuildKit 持久缓存;依赖未变化时不会重新下载。 +RUN --mount=type=cache,id=admin-web-pnpm-store,target=/pnpm/store \ + pnpm config set store-dir /pnpm/store && \ + pnpm install --frozen-lockfile COPY . . RUN pnpm test && pnpm build