IT评测·应用市场-qidao123.com

标题: 利用Jenkins实现鸿蒙HAR应用的自动化构建打包 [打印本页]

作者: 数据人与超自然意识    时间: 2025-3-11 04:38
标题: 利用Jenkins实现鸿蒙HAR应用的自动化构建打包
利用Jenkins实现鸿蒙HAR应用的自动化构建打包

在软件开发范畴,自动化构建是提高开发服从和确保代码质量的重要本领。特殊是在鸿蒙(OpenHarmony)应用开发中,自动化构建更是不可或缺。本文将详细先容怎样利用Jenkins命令行工具实现鸿蒙HAR应用的自动化构建打包,让开发流程更加高效、可靠。
一、引言

随着鸿蒙系统的广泛应用,越来越多的开发者投入到鸿蒙应用的开发中。然而,手动构建和打包应用不但耗时耗力,还容易出错。因此,实现自动化构建成为开发者的迫切需求。Jenkins作为一款开源的自动化服务器软件,以其强盛的功能和灵活的插件体系,成为实现这一需求的理想选择。
二、环境准备

在开始之前,请确保你已经安装了以下软件和环境:

三、焦点步调

实现鸿蒙HAR应用的自动化构建打包,焦点在于以下三个步调:初始化依赖、初始化工作环境、实行详细的构建使命。下面将详细先容每个步调的详细实现。
1. 初始化依赖

首先,须要利用ohpm命令来初始化项目所需的依赖。ohpm是鸿蒙的包管理工具,类似于npm或yarn。在Jenkins脚本中,可以利用以下命令来安装所有依赖:
  1. /Applications/DevEco-Studio.app/Contents/tools/ohpm/bin/ohpm install --all --registry https://ohpm.openharmony.cn/ohpm/ --strict_ssl true
复制代码
这条命令会从指定的ohpm堆栈(https://ohpm.openharmony.cn/ohpm/)下载并安装所有在oh-package.json5中声明的依赖。
2. 初始化工作环境

接下来,利用hvigorw脚本来初始化工作环境。hvigorw是鸿蒙的构建工具,用于实行构建、编译等使命。在Jenkins脚本中,可以利用以下命令来同步项目配置并初始化工作环境:
  1. /Applications/DevEco-Studio.app/Contents/tools/node/bin/node
  2. /Applications/DevEco-Studio.app/Contents/tools/hvigor/bin/hvigorw.js
  3. --sync
  4. -p product=default
  5. --analyze=normal
  6. --parallel
  7. --incremental
  8. --daemon
复制代码
这条命令会同步项目的配置信息,并根据指定的产品配置(product=default)初始化工作环境。同时,它还会开启并行构建、增量构建和保卫进程等功能,以提高构建服从。
3. 实行详细的构建使命

最后,利用hvigorw脚本来实行详细的构建使命。在Jenkins脚本中,可以利用以下命令来构建并打包HAR应用:
  1. hvigorw --mode module -p product=default -p module=$moduleName@default -p buildMode=release assembleHar --analyze=normal --parallel --incremental --daemon
复制代码
这条命令会根据指定的模块(module=$moduleName@default)和产品配置(product=default),以发布模式(buildMode=release)构建并打包HAR应用。同样地,它也开启了并行构建、增量构建和保卫进程等功能。
四、脚本实现

将上述三个步调解合到一个脚本中,就可以在Jenkins中实行完备的业务逻辑构建了。以下是一个示例脚本:
  1. #!/bin/bash# 设置DevEco Studio路径DEVECO_STUDIO_PATH="/Applications/DevEco-Studio.app/Contents/tools"# 初始化依赖${DEVECO_STUDIO_PATH}/ohpm/bin/ohpm install --all --registry https://ohpm.openharmony.cn/ohpm/ --strict_ssl true# 查抄依赖安装是否乐成if [ $? -ne 0 ]; then    echo "依赖安装失败"    exit 1fi# 初始化工作环境${DEVECO_STUDIO_PATH}/node/bin/node ${DEVECO_STUDIO_PATH}/hvigor/bin/hvigorw.js --sync -p product=default --analyze=normal --parallel --incremental --daemon# 查抄工作环境初始化是否乐成if [ $? -ne 0 ]; then    echo "工作环境初始化失败"    exit 1fi# 实行详细的构建使命hvigorw --mode module -p product=default -p module=$moduleName@default -p buildMode=release assembleHar --analyze=normal --parallel --incremental --daemon
  2. # 查抄构建使命是否乐成if [ $? -ne 0 ]; then    echo "构建使命失败"    exit 1fiecho "构建乐成"
复制代码
将这个脚本保存为build.sh,并在Jenkins中配置一个实行该脚本的构建使命,就可以实现鸿蒙HAR应用的自动化构建打包了。
五、总结与展望

通过本文的先容,我们相识了怎样利用Jenkins命令行工具实现鸿蒙HAR应用的自动化构建打包。这不但提高了开发服从,还确保了代码质量。将来,随着鸿蒙系统的不断发展和美满,自动化构建工具也将更加智能和高效。我们可以等待更多的自动化工具和插件出现,为鸿蒙应用开发提供更加便捷和高效的解决方案。
希望本文对大家有所帮助!如果你有任何疑问或发起,请随时在批评区留言。
附录一

在DevEco Studio启动或项目初始化过程中,实行以下命令:
  1. /Applications/DevEco-Studio.app/Contents/tools/ohpm/bin/ohpm install --all --registry https://ohpm.openharmony.cn/ohpm/ --strict_ssl true
复制代码
作用是为鸿蒙(HarmonyOS/OpenHarmony)项目安装或更新所有依赖包。以下是详细解析:

1. 命令的组成部门

参数/路径说明/Applications/DevEco-Studio.app/.../ohpm调用DevEco Studio内置的 ohpm(OpenHarmony Package Manager)工具,专用于管理鸿蒙生态的依赖包。install --all安装项目配置文件(如oh-package.json5)中界说的所有依赖项(包括dependencies和devDependencies)。--registry https://ohpm.openharmony.cn/ohpm/指定鸿蒙官方包堆栈作为依赖源,确保下载合法的鸿蒙组件。--strict_ssl true启用严酷的SSL证书验证,防止网络劫持或下载来源被篡改。
2. 该命令的典范场景

(1) 初始化项目时


(2) 更新依赖配置后


(3) 解决依赖冲突或缺失



3. 关键留意事项

(1) 依赖源的合法性


(2) --strict_ssl true的作用


(3) 与npm的区别



4. 常见题目

Q1: 能否省略此命令?


Q2: 实行失败怎么办?



5. 总结

此命令是鸿蒙项目依赖管理的焦点步调,确保所有模块和工具链正确安装。
如果编译过程中出现依赖相干错误(如uv_cwd或ENOENT),优先实验重新实行此命令并查抄网络环境。
附录二

在鸿蒙(HarmonyOS/OpenHarmony)应用开发中,您提到的命令是用于调用 DevEco Studio 内置的 hvigor 工具来实行项目构建使命。以下是该命令的详细解析:

命令布局

  1. /Applications/DevEco-Studio.app/Contents/tools/node/bin/node
  2. /Applications/DevEco-Studio.app/Contents/tools/hvigor/bin/hvigorw.js
  3. --sync
  4. -p product=default
  5. --analyze=normal
  6. --parallel
  7. --incremental
  8. --daemon
复制代码

各部门作用

1. node 和 hvigorw.js 路径



2. 焦点参数解析

参数作用--sync同步项目配置,确保所有模块的依赖关系和配置(如 build-profile.json5)一致。常用于首次拉取代码或修改依赖后。-p product=default指定构建的 产品形态。default 表示利用默认配置(如调试模式),其他可能值如 release(发布模式)。--analyze=normal启用构建过程分析,但仅输出常规日志(非详细)。若需调试,可改为 --analyze=verbose。--parallel启用多线程并行构建,加速大型项目的编译速率。--incremental增量编译模式,仅编译修改过的文件,减少构建时间。但若缓存异常可能导致失败,需定期清理(如 hvigor clean)。--daemon以保卫进程模式运行 hvigor,首次启动稍慢,但后续构建会复用进程提升速率。
该命令的典范场景

1. 项目初始化或配置变动后


2. 一样平常开发构建


3. 调试构建题目



常见题目与留意事项

1. 增量编译失败


2. 保卫进程(daemon)冲突


3. 并行编译(parallel)的资源竞争



与 DevEco Studio 图形化操作的关系



总结

此命令是鸿蒙项目构建的焦点步调,通过 hvigor 工具实现:
若构建不稳定,可实验以下操作:
4. 清理缓存:hvigor clean
5. 关闭增量编译:移除 --incremental
6. 查看详细日志:添加 --debug 参数。
附录三 .鸿蒙构建-Error: ENOENT: no such file or directory, uv_cwd

工程在进行构建的时间碰到这个题目:Error: ENOENT: no such file or directory, uv_cwd
详细报错其实是在 node 里面,因此在网络上主要有以下几种解决方式
上面参考了其他博主的题目。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4