Files
jenkins-pipeline/Dockerfile/web/aqex_web_Dockerfile

42 lines
906 B
Plaintext
Raw Permalink Normal View History

2025-12-17 17:32:04 +08:00
# ===============================
# 1) 依赖安装 + 构建阶段
# ===============================
FROM node:20.15.0-alpine AS build
WORKDIR /app
RUN npm install -g pnpm
# 只拷贝 package.json加快缓存命中
COPY package.json pnpm-lock.yaml* ./
# 预先安装依赖(利用缓存)
RUN pnpm install --registry=https://registry.npmmirror.com
# 拷贝全部代码
COPY . .
# 要求 package.json 中的 script 形如build:sit, build:test, build:prod
RUN pnpm build
RUN mv /app/dist/main/index.html /app/dist/index.html
# ===============================
# 2) 生产镜像阶段
# ===============================
FROM nginx:1.25-alpine AS runtime
# 清理默认 nginx 静态内容
RUN rm -rf /usr/share/nginx/html/*
# 拷贝 build 结果
COPY --from=build /app/dist /usr/share/nginx/html/
# 权限
RUN chmod -R 755 /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]