uni-app HBuilder更新后h5打包路径变更从h5到web致cicd失败且升级描述无提示

uni-app HBuilder更新后h5打包路径变更从h5到web致cicd失败且升级描述无提示

开发环境 版本号 项目创建方式
Mac 最新 HBuilderX

操作步骤:

  • 打包

预期结果:

  • 回到原来的路径

实际结果:

  • 路径出错!!!

bug描述:

【报Bug】hbuilder更新之后, h5打包路径从h5变成web了, 导致cicd全部失败,升级描述也没有提示???

6 回复

感谢反馈,这个改动在历史更新中有提及,这里我整理下注意事项和推荐写法,在 ide 中统一做标注。
要解决你之前的 cicd 流程问题,可以尝试补充一个 post scripts ,类似于 mv dist/web dist/h5 这种重命名的写法进行持续集成的兼容。
可以移步这里统一做讨论,这里解释了背景和临时兼容方案,最推荐的还是修改你的部署流程。 https://ask.dcloud.net.cn/article/41078

更多关于uni-app HBuilder更新后h5打包路径变更从h5到web致cicd失败且升级描述无提示的实战教程也可以访问 https://www.itying.com/category-93-b0.html


release里有。是为了统一概念

调整 uni-app运行 unpackage编译目录 h5目录名改为web

怎么修改web的目录为h5

这个应该按照manifest.json这是的h5运行目录输出目录名,而不是固定web,又或是h5。固定下来每次打包都得重命名

回复 梦儿专属: manifest.json 中 router.base 设置的是运行目录,和编译目录是两个概念。这次调整编译目录是为了统一概念,和其他平台产物区分清除,一般不会轻易修改。我已更新官网文档,后续会强化概念的区分

在 uni-app 项目中,HBuilder 更新后可能会导致 H5 打包路径发生变化,例如从 h5 目录变更为 web 目录。这种变更可能会影响持续集成和持续部署 (CI/CD) 流程,尤其是如果 CI/CD 脚本中硬编码了旧的打包路径。如果 HBuilder 的更新描述中没有提及这一变更,开发者可能会遇到问题。

以下是一些解决方案和应对措施:


1. 检查 HBuilder 更新日志

  • 尽管你可能已经检查过更新日志,但仍建议再次确认是否有关于打包路径变更的说明。
  • 如果确实没有提及,可以向 uni-app 官方反馈这一问题,以便他们在未来的更新中补充说明。

2. 更新 CI/CD 脚本

  • 如果在 CI/CD 脚本中使用了硬编码的打包路径(例如 h5),需要将其更新为新的路径(例如 web)。
  • 示例:
    # 旧脚本
    cp -r ./unpackage/dist/build/h5 /path/to/deploy/
    
    # 新脚本
    cp -r ./unpackage/dist/build/web /path/to/deploy/
    

3. 动态获取打包路径

  • 为了避免未来类似问题,可以动态获取打包路径,而不是硬编码。
  • 例如,使用脚本查找打包目录:
    BUILD_DIR=$(find ./unpackage/dist/build -maxdepth 1 -type d -name "h5" -o -name "web")
    if [ -z "$BUILD_DIR" ]; then
      echo "Error: Build directory not found."
      exit 1
    fi
    cp -r $BUILD_DIR /path/to/deploy/
回到顶部