feat(docker) 重构Docker构建流程,使用多阶段构建并优化CI配置

This commit is contained in:
wwg
2025-07-03 01:01:59 +08:00
parent 4ee4333bfe
commit 5c03784f9c
13 changed files with 90 additions and 136 deletions

View File

@@ -1,3 +1,25 @@
FROM --platform=$BUILDPLATFORM node:18-alpine AS builder
# 设置阿里云镜像加速
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
# 安装pnpm
RUN corepack enable && corepack prepare pnpm@latest --activate
WORKDIR /app
# 复制项目文件包括package.json等
COPY ./orion-visor-ui/package.json ./orion-visor-ui/pnpm-lock.yaml* ./
# 安装依赖利用Docker缓存层
RUN pnpm install --frozen-lockfile
# 复制源代码
COPY ./orion-visor-ui/ .
# 构建项目
RUN pnpm build
FROM --platform=$BUILDPLATFORM nginx:alpine
# 系统时区
ARG TZ=Asia/Shanghai
@@ -12,7 +34,7 @@ RUN ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime && \
# 删除原 nginx 配置
RUN rm -rf /etc/nginx/conf.d/*
# 复制包
COPY ./dist /usr/share/nginx/html
COPY ./nginx.conf /etc/nginx/conf.d
COPY --from=builder /app/dist /usr/share/nginx/html
COPY ./docker/ui/nginx.conf /etc/nginx/conf.d
# 启动
CMD ["nginx", "-g", "daemon off;"]