Commit 8c661d9f by zhangxingmin

push

parent 534ddfda
# 第一阶段:构建环境 # 第一阶段:构建环境
FROM node:16.20.2-bullseye-slim AS builder FROM node:16.20.2-bullseye-slim AS builder
# 设置时区(国内镜像需要) # 设置时区
ENV TZ=Asia/Shanghai ENV TZ=Asia/Shanghai
# 使用国内镜像源替换默认源 - 大幅提升下载速度 # 使用国内镜像源替换默认源
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list && \ RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list && \
sed -i 's/security.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list sed -i 's/security.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list
# 安装基础依赖(使用国内源后速度提升5-10倍) # 安装基础依赖
RUN apt-get update && \ RUN apt-get update && \
apt-get install -y --no-install-recommends \ apt-get install -y --no-install-recommends \
libgtk-3-0 \ libgtk-3-0 \
...@@ -31,8 +31,22 @@ WORKDIR /app ...@@ -31,8 +31,22 @@ WORKDIR /app
# 复制项目文件 # 复制项目文件
COPY . . COPY . .
# 安装 HBuilderX CLI # 安装 HBuilderX CLI - 使用可靠下载源
RUN npm run hb-setup RUN mkdir -p /opt/HBuilderX && \
# 尝试多个官方下载源
(curl -L -o /tmp/hbuilderx.tar.gz https://download.dcloud.net.cn/HBuilderX/cli/hbuilderx-linux.tar.gz || \
curl -L -o /tmp/hbuilderx.tar.gz https://download1.dcloud.net.cn/HBuilderX/cli/hbuilderx-linux.tar.gz || \
curl -L -o /tmp/hbuilderx.tar.gz https://download2.dcloud.net.cn/HBuilderX/cli/hbuilderx-linux.tar.gz) && \
# 验证文件类型
if [ "$(file -b --mime-type /tmp/hbuilderx.tar.gz)" != "application/gzip" ]; then \
echo "下载的文件不是gzip格式,使用备选方案..."; \
curl -L -o /tmp/hbuilderx.tar.gz https://github.com/dcloudio/HBuilderX/releases/download/3.8.4.20230719/hbuilderx-linux.tar.gz; \
fi && \
# 解压文件
tar -xzvf /tmp/hbuilderx.tar.gz -C /opt/HBuilderX --strip-components=1 && \
rm -f /tmp/hbuilderx.tar.gz
# 设置环境变量
ENV PATH="/opt/HBuilderX:${PATH}" ENV PATH="/opt/HBuilderX:${PATH}"
# 设置构建参数 # 设置构建参数
......
...@@ -16,10 +16,9 @@ ...@@ -16,10 +16,9 @@
] ]
}, },
"scripts": { "scripts": {
"hb-setup": "mkdir -p /opt/HBuilderX && curl -L https://download.dcloud.net.cn/HBuilderX/cli/hbuilderx-linux.tar.gz | tar -xz -C /opt/HBuilderX --strip-components=1", "build:h5": "hbuilderx build --project . --platform h5",
"build:h5": "/opt/HBuilderX/cli build --project . --platform h5", "build:android": "hbuilderx build --project . --platform android",
"build:android": "/opt/HBuilderX/cli build --project . --platform android", "build:ios": "hbuilderx build --project . --platform ios"
"build:ios": "/opt/HBuilderX/cli build --project . --platform ios"
}, },
"dependencies": { "dependencies": {
"crypto-js": "^4.2.0", "crypto-js": "^4.2.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