Commit f0cc97e8 by zhangxingmin

push

parent 9cb50324
# 第一阶段:构建项目
# 第一阶段:使用 HBuilderX CLI 构建
FROM node:16-alpine AS builder
# 设置工作目录
WORKDIR /app
# 替换国内镜像源(加速依赖安装)
# 替换国内镜像源
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
# 复制依赖文件(优先复制,利用 Docker 缓存)
COPY package.json package-lock.json ./
# 复制 Jenkins 中的 HBuilderX 到容器(假设 HBuilderX 在 /var/jenkins_home/HBuilderX)
COPY /var/jenkins_home/HBuilderX /opt/HBuilderX
# 赋予执行权限
RUN chmod -R 755 /opt/HBuilderX
# 安装依赖(使用淘宝镜像加速)
# 复制项目依赖文件
COPY package.json package-lock.json ./
# 安装项目依赖(仅生产依赖,避免开发依赖冲突)
RUN npm config set registry https://registry.npmmirror.com \
&& npm install --legacy-peer-deps
&& npm install --production
# 复制源代码
# 复制项目源代码
COPY . .
# 输出目录结构,便于调试
# 使用 HBuilderX CLI 打包 H5(输出到 /app/dist)
RUN npm run build:h5 \
&& echo "构建产物目录结构:" \
&& ls -R /app/dist
# 生产阶段
# 生产阶段:部署到 Nginx
FROM docker.m.daocloud.io/library/nginx:alpine
# 直接复制 dist 根目录到 Nginx 根目录(匹配容器内实际路径)
# 复制打包产物
COPY --from=builder /app/dist /usr/share/nginx/html
# 复制 Nginx 配置
COPY nginx.conf /etc/nginx/conf.d/default.conf
# 保持时区和权限配置不变
# 时区和权限配置
RUN echo "https://mirrors.aliyun.com/alpine/v3.22/main/" > /etc/apk/repositories && \
echo "https://mirrors.aliyun.com/alpine/v3.22/community/" >> /etc/apk/repositories && \
apk update && \
......
......@@ -17,7 +17,7 @@
"scripts": {
"dev": "vite",
"build": "vite build",
"build:h5": "node node_modules/@dcloudio/uni-cli-h5/bin/uni-cli-h5.js build",
"build:h5": "/opt/HBuilderX/HBuilderX -c build -p h5 -d /app/dist",
"preview": "vite preview"
},
"dependencies": {
......@@ -34,7 +34,6 @@
"vite-plugin-vue2": "^2.0.3",
"vue-template-compiler": "^2.6.14",
"terser": "^5.26.0",
"less": "^4.3.0",
"@dcloudio/uni-cli-h5": "^2.0.0"
"less": "^4.3.0"
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment