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
7a22ff88
Commit
7a22ff88
authored
Jul 23, 2025
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
push
parent
e56ae81b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
37 additions
and
22 deletions
+37
-22
Dockerfile
+37
-22
No files found.
Dockerfile
View file @
7a22ff88
# 第一阶段:
构建环境
# 第一阶段:
基础准备(不包含大文件)
FROM
node:16.20.2-bullseye-slim AS b
uilder
FROM
node:16.20.2-bullseye-slim AS b
ase
# 设置时区
# 设置时区
ENV
TZ=Asia/Shanghai
ENV
TZ=Asia/Shanghai
RUN
ln
-snf
/usr/share/zoneinfo/
$TZ
/etc/localtime
&&
echo
$TZ
>
/etc/timezone
RUN
ln
-snf
/usr/share/zoneinfo/
$TZ
/etc/localtime
&&
echo
$TZ
>
/etc/timezone
# 使用国内镜像源
替换默认源
# 使用国内镜像源
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
...
@@ -20,26 +20,43 @@ RUN apt-get update && \
...
@@ -20,26 +20,43 @@ RUN apt-get update && \
# 设置工作目录
# 设置工作目录
WORKDIR
/app
WORKDIR
/app
# 复制项目文件
# ===================================================
COPY
. .
# 第二阶段:安装 HBuilderX(单独阶段)
FROM
base AS hbuilderx-installer
# 关键修改:直接复制已解压的 HBuilderX 目录
COPY
./HBuilderX /opt/HBuilderX
# 通过构建参数传递 HBuilderX 路径
ARG
HBUILDERX_PATH
# 检查并设置权限
RUN
chmod +x /opt/HBuilderX/cli
&&
\
# 直接从宿主机复制 HBuilderX(避免通过构建上下文)
if
[
!
-f
"/opt/HBuilderX/cli"
]
;
then
\
COPY
--from=host ${HBUILDERX_PATH} /opt/HBuilderX
echo
"HBuilderX CLI 安装失败!"
;
\
exit
1
;
\
# 验证安装
RUN
echo
"### 验证 HBuilderX 安装 ###"
&&
\
ls
-la
/opt/HBuilderX
&&
\
if
[
-f
"/opt/HBuilderX/cli"
]
;
then
\
echo
"HBuilderX CLI 存在"
&&
\
chmod +x /opt/HBuilderX/cli
&&
\
echo
"版本信息: "
&&
/opt/HBuilderX/cli
--version
;
\
else
\
else
\
echo
"HBuilderX CLI 安装成功"
;
\
echo
"错误:HBuilderX CLI 不存在!"
&&
\
/opt/HBuilderX/cli
--version
;
\
find /opt
-name
cli
&&
\
exit
1
;
\
fi
fi
# ===================================================
# 第三阶段:项目构建
FROM
base AS builder
# 复制 HBuilderX 安装结果
COPY
--from=hbuilderx-installer /opt/HBuilderX /opt/HBuilderX
# 设置环境变量
# 设置环境变量
ENV
PATH="/opt/HBuilderX:${PATH}"
ENV
PATH="/opt/HBuilderX:${PATH}"
# 安装项目依赖 - 使用国内npm源
# 复制项目文件(不包括 HBuilderX)
COPY
. .
# 使用国内 npm 源安装依赖
RUN
npm config
set
registry https://registry.npmmirror.com
&&
\
RUN
npm config
set
registry https://registry.npmmirror.com
&&
\
npm install
npm install
...
@@ -48,13 +65,11 @@ ARG BUILD_PLATFORM=h5
...
@@ -48,13 +65,11 @@ ARG BUILD_PLATFORM=h5
ENV
UNI_PLATFORM=$BUILD_PLATFORM
ENV
UNI_PLATFORM=$BUILD_PLATFORM
# 执行构建
# 执行构建
RUN
cli build
--project
/app
--platform
$BUILD_PLATFORM
RUN
echo
"### 开始项目构建 ###"
&&
\
cli build
--project
/app
--platform
$BUILD_PLATFORM
# ===================================================
# ===================================================
# 第二阶段:运行环境
# 第四阶段:运行环境
# ===================================================
# H5 运行环境
FROM
nginx:1.25.2-alpine AS h5-runtime
FROM
nginx:1.25.2-alpine AS h5-runtime
# 复制自定义Nginx配置
# 复制自定义Nginx配置
...
...
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