Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
CFFP-HB
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chao Sun
CFFP-HB
Commits
d96e56ba
Commit
d96e56ba
authored
Jul 23, 2025
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
push
parent
1121340d
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
25 additions
and
42 deletions
+25
-42
Dockerfile
+16
-42
hbuilderx-linux.tar.gz
+9
-0
No files found.
Dockerfile
View file @
d96e56ba
...
...
@@ -8,7 +8,7 @@ ENV TZ=Asia/Shanghai
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
# 安装基础依赖
(包括 file 工具)
# 安装基础依赖
RUN
apt-get update
&&
\
apt-get install
-y
--no-install-recommends
\
libgtk-3-0
\
...
...
@@ -23,40 +23,24 @@ RUN apt-get update && \
curl
\
tar
\
ca-certificates
\
file
\
&&
rm
-rf
/var/lib/apt/lists/
*
# 设置工作目录
WORKDIR
/app
# 复制项目文件
# 复制项目文件
(包括预下载的 HBuilderX)
COPY
. .
# 安装 HBuilderX CLI - 使用
可靠下载源
# 安装 HBuilderX CLI - 使用
预下载文件
RUN
mkdir
-p
/opt/HBuilderX
&&
\
# 尝试直接下载最新版本
curl -L -o /tmp/hbuilderx.tar.gz "https://github.com/dcloudio/HBuilderX/releases/download/v3.8.7.20230901/hbuilderx-linux.tar.gz" || \
# 如果失败,尝试下载特定版本
(echo "主下载源失败,尝试备选源..." && \
curl -L -o /tmp/hbuilderx.tar.gz "https://github.com/dcloudio/HBuilderX/releases/download/3.8.4.20230719/hbuilderx-linux.tar.gz") && \
# 验证文件类型(现在有 file 命令了)
if [ "$(file -b --mime-type /tmp/hbuilderx.tar.gz)" != "application/gzip" ]; then \
echo "下载的文件不是gzip格式,使用本地解压验证..."; \
# 尝试解压验证内容 \
if ! tar -tzf /tmp/hbuilderx.tar.gz >/dev/null 2>&1; then \
echo "文件验证失败,使用官方CDN源..."; \
curl -L -o /tmp/hbuilderx.tar.gz "https://download.dcloud.net.cn/HBuilderX/releases/3.8.7.20230901/hbuilderx-linux.tar.gz"; \
fi \
fi && \
# 解压文件 \
tar -xzvf /tmp/hbuilderx.tar.gz -C /opt/HBuilderX --strip-components=1 && \
rm -f /tmp/hbuilderx.tar.gz && \
# 验证安装 \
tar
-xzvf
hbuilderx-linux.tar.gz
-C
/opt/HBuilderX
--strip-components
=
1
&&
\
rm
-f
hbuilderx-linux.tar.gz
&&
\
if
[
!
-f
"/opt/HBuilderX/cli"
]
;
then
\
echo
"HBuilderX CLI 安装失败!"
;
\
exit
1
;
\
else
\
echo
"HBuilderX CLI 安装成功"
;
\
/opt/HBuilderX/cli
--version
;
\
fi
# 设置环境变量
...
...
@@ -70,30 +54,20 @@ ENV UNI_PLATFORM=$BUILD_PLATFORM
RUN
hbuilderx build
--project
/app
--platform
$BUILD_PLATFORM
# ===================================================
# 第二阶段:运行环境
(按平台分发)
# 第二阶段:运行环境
# ===================================================
# H5 运行环境
FROM
nginx:1.25.2-alpine AS h5-runtime
# 复制自定义Nginx配置
COPY
--from=builder /app/nginx.conf /etc/nginx/conf.d/default.conf
# 复制构建产物
COPY
--from=builder /app/unpackage/dist/build/h5 /usr/share/nginx/html
COPY
nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE
8333
CMD
["nginx", "-g", "daemon off;"]
## Android 运行环境(仅用于保存 APK)
#FROM alpine:3.18 AS android-runtime
#COPY --from=builder /app/unpackage/dist/build/android /app
#VOLUME /output
#CMD ["sh", "-c", "cp /app/*.apk /output"]
#
## iOS 运行环境(仅用于保存 IPA)
#FROM alpine:3.18 AS ios-runtime
#COPY --from=builder /app/unpackage/dist/build/ios /app
#VOLUME /output
#CMD ["sh", "-c", "cp /app/*.ipa /output"]
# 暴露端口
EXPOSE
8333
# ===================================================
# 最终阶段:根据构建参数选择目标平台
# ===================================================
ARG
TARGET_PLATFORM=h5
FROM
${TARGET_PLATFORM}-runtime AS final
# 启动命令
CMD
["nginx", "-g", "daemon off;"]
hbuilderx-linux.tar.gz
0 → 100644
View file @
d96e56ba
<?xml version='1.0' encoding='utf-8' ?>
<Error>
<Code>
NoSuchKey
</Code>
<Message>
The specified key does not exist.
</Message>
<Resource>
/HBuilderX/releases/3.8.7.20230901/hbuilderx-linux.tar.gz
</Resource>
<RequestId>
Njg3ZmI1NDZfYTY0ZTBmMWVfNGQzM181ZWIzMzA0
</RequestId>
<TraceId>
OGVmYzZiMmQzYjA2OWNhODk0NTRkMTBiOWVmMDAxODc0OWRkZjk0ZDM1NmI1M2E2MTRlY2MzZDhmNmI5MWI1OTc5ODg4ODNhM2YxMjhiZjRjM2YxMGJhMzMwMjU5YTg0Y2I4MDFlOGYwMDcyYmMyMGJhNDg3MjNlZTQ5MWRlZWQ=
</TraceId>
</Error>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment