自行构建

自行构建指定版本的 HBuilderX Vanilla 镜像

如果你需要使用特定版本的 HBuilderX 或者对构建过程有特殊要求,可以按照以下步骤自行构建镜像。

前置要求

系统要求

  • Docker 环境
  • 本机已安装 HBuilderX
  • Git 工具
  • 足够的磁盘空间(建议至少 5GB)

HBuilderX 准备

  1. 安装 HBuilderX:确保本机已正确安装 HBuilderX
  2. 创建测试项目
    # 在 HBuilderX 中创建一个 Vue2 项目
    # 在 HBuilderX 中创建一个 Vue3 项目
    
  3. 真机调试:对两个项目分别进行一次真机调试,确保相关插件已安装

构建步骤

1. 克隆仓库

git clone --filter=blob:limit=4m https://github.com/hbuilderx-vanilla/docker.git
cd docker

2. 提取 HBuilderX 核心

根据你的操作系统选择对应的构建脚本:

macOS
Windows
# 进入构建目录
cd build

# 执行构建脚本
# 参数1: HBuilderX 版本号
# 参数2: HBuilderX plugins 文件夹路径
./core-build.sh 4.15.0 /Applications/HBuilderX.app/Contents/HBuilderX/plugins

3. 构建 Docker 镜像

修改配置文件

编辑 Dockerfile-China-Mainland 文件,将第 17 行的版本号替换为你构建的核心版本:

dockerfile
# 修改前
- ARG CORE_VERSION=4.15.0

# 修改为你的版本
+ ARG CORE_VERSION=4.16.0

执行构建

# 进入测试目录
cd test

# 构建镜像
./build.sh

4. 运行和测试

启动容器

# 指定要挂载的工程父目录,如 /root/projects
./run.sh /root/projects

初始化依赖

# 初始化容器依赖
docker exec -it hbuilder-vanilla sh -c "chmod +x /root/core-install.sh && /root/core-install.sh"

测试服务

# 测试服务是否正常启动
curl --location 'http://127.0.0.1:13300'

# 测试构建功能(需要先在 /root/projects 下放置测试项目)
curl --location 'http://127.0.0.1:13300/build?project=test-app&vueVersion=3'

清理资源

# 一键删除容器及镜像
./del.sh

常见问题

构建失败

问题:构建过程中出现权限错误

解决方案

# 确保脚本有执行权限
chmod +x build/core-build.sh
chmod +x test/build.sh
chmod +x test/run.sh

插件缺失

问题:构建的镜像无法正常工作

解决方案

  1. 确认已在本机 HBuilderX 中创建过 Vue2 和 Vue3 项目
  2. 确认已进行过真机调试,相关插件已下载
  3. 重新执行核心提取步骤

版本不匹配

问题:Docker 镜像构建时版本不匹配

解决方案

  1. 检查 Dockerfile-China-Mainland 中的 CORE_VERSION 是否正确
  2. 确认提取的核心文件夹名称与版本号一致

容器启动失败

问题:容器无法正常启动

解决方案

# 查看容器日志
docker logs hbuilder-vanilla

# 检查端口占用
lsof -i :13300

# 重新启动容器
docker restart hbuilder-vanilla

高级配置

自定义端口

修改 run.sh 脚本中的端口映射:

# 默认配置
docker run -d -p 13300:3000 ...

# 自定义端口
docker run -d -p 8080:3000 ...

持久化数据

为了保持构建缓存和配置,可以添加额外的数据卷:

docker run -d \
  -v /path/to/projects:/projects \
  -v /path/to/cache:/root/.cache \
  -p 13300:3000 \
  --name hbuilder-vanilla \
  your-custom-image:latest

环境变量配置

可以通过环境变量自定义构建行为:

docker run -d \
  -e BUILD_TIMEOUT=300 \
  -e LOG_LEVEL=debug \
  -v /path/to/projects:/projects \
  -p 13300:3000 \
  --name hbuilder-vanilla \
  your-custom-image:latest

发布镜像

如果你需要将自定义镜像发布到 Docker Hub 或私有仓库:

# 标记镜像
docker tag hbuilder-vanilla:latest your-username/hbuilder-vanilla:4.15.0

# 推送到 Docker Hub
docker push your-username/hbuilder-vanilla:4.15.0

# 推送到私有仓库
docker tag hbuilder-vanilla:latest registry.example.com/hbuilder-vanilla:4.15.0
docker push registry.example.com/hbuilder-vanilla:4.15.0

This site is powered by Nuxt