FROM 172.31.127.251:8083/library/node:20.19.0-alpine as builder
ARG ENV=prod
# 1. 定义构建参数
ARG COMMIT_ID=unknown
# 2. 将参数设置为环境变量，这样在容器运行时也能读取到
ENV VITE_GIT_COMMIT_ID=${COMMIT_ID}
ENV VITE_PROJECT_NAME="$PROJECTCODE" \
    VITE_PROJECT_VERSION="$PROJECTVERSION"
WORKDIR /usr/src/app
COPY . .

RUN set -eux; \
    sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories; \
    apk update && apk upgrade; \
    apk add git zlib zlib-dev autoconf automake libtool; \
    apk add pnpm; \
    pnpm config set registry https://registry.npmmirror.com; \
    pnpm install; \
    pnpm build:$ENV;

FROM 172.31.127.251:8083/library/fileserver:1.0.0
ARG PROJECTCODE
ARG PROJECTVERSION
ENV PROJECT_NAME="$PROJECTCODE" \
    PROJECT_VERSION="$PROJECTVERSION"
COPY --from=builder /usr/src/app/dist/ /usr/local/app/