HarmonyOS 鸿蒙Next 在使用jenkins 进行CI集成的问题
HarmonyOS 鸿蒙Next 在使用jenkins 进行CI集成的问题
在使用jenkins + svn插件 进行CI集成时,因jenkins下载SVN项目时会自动添加 .svn相关的文件。使得使用command-line进行流水线编译时,报无法操作 .svn文件夹内容的相关错误
运行相关日志如下:
D:\Jenkins\workspace\FrameworkProj>hvigorw clean assembleApp --no-daemon
> hvigor \u001b[32mFinished :entry:clean… after 30 ms \u001b[39m
> hvigor \u001b[32mFinished ::clean… after 2 ms \u001b[39m
> hvigor \u001b[32mFinished ::PreBuildApp… after 5 ms \u001b[39m
> hvigor \u001b[32mFinished :entry:default@PreBuild… after 145 ms \u001b[39m
> hvigor \u001b[32mFinished :entry:default@GenerateMetadata… after 15 ms \u001b[39m
> hvigor \u001b[32mFinished :entry:default@PreCheckSyscap… after 1 ms \u001b[39m
> hvigor \u001b[32mFinished :entry:default@CreateBuildProfile… after 5 ms \u001b[39m
> hvigor \u001b[32mFinished :entry:default@ConfigureCmake… after 1 ms \u001b[39m
> hvigor \u001b[32mFinished :entry:default@GenerateLoaderJson… after 7 ms \u001b[39m
> hvigor \u001b[32mFinished :entry:default@MergeProfile… after 7 ms \u001b[39m
> hvigor \u001b[32mFinished :entry:default@SyscapTransform… after 3 ms \u001b[39m
> hvigor \u001b[32mFinished :entry:default@BuildNativeWithCmake… after 1 ms \u001b[39m
> hvigor \u001b[32mFinished :entry:default@MakePackInfo… after 15 ms \u001b[39m
> hvigor \u001b[32mFinished :entry:default@ProcessProfile… after 111 ms \u001b[39m
> hvigor \u001b[32mFinished :entry:default@BuildNativeWithNinja… after 3 ms \u001b[39m
> hvigor \u001b[32mFinished :entry:default@ProcessResource… after 8 ms \u001b[39m
> hvigor \u001b[32mFinished :entry:default@ProcessLibs… after 15 ms \u001b[39m
> hvigor \u001b[32mFinished :entry:default@CompileResource… after 100 ms \u001b[39m
> hvigor \u001b[32mFinished :entry:default@DoNativeStrip… after 5 ms \u001b[39m
> hvigor \u001b[32mFinished :entry:default@BuildJS… after 4 ms \u001b[39m
> hvigor \u001b[32mFinished :entry:default@CacheNativeLibs… after 5 ms \u001b[39m
> hvigor \u001b[32mFinished :entry:default@CompileArkTS… after 12 s 740 ms \u001b[39m
> hvigor \u001b[32mFinished :entry:default@PackageHap… after 494 ms \u001b[39m
> hvigor \u001b[33mWARN: Will skip sign ‘hos_hap’. No signingConfigs profile is configured in current project.
If needed, configure the signingConfigs in D:\Jenkins\workspace\FrameworkProj\build-profile.json5 .\u001b[39m
> hvigor \u001b[32mFinished :entry:default@SignHap… after 3 ms \u001b[39m
> hvigor \u001b[32mFinished :entry:assembleHap… after 1 ms \u001b[39m
> hvigor \u001b[32mFinished ::MakeProjectPackInfo… after 7 ms \u001b[39m
> hvigor \u001b[32mFinished ::GeneratePackRes… after 2 ms \u001b[39m
> hvigor \u001b[32mFinished ::PackageApp… after 411 ms \u001b[39m
> hvigor \u001b[33mWARN: Will skip sign ‘app’. No signingConfigs profile is configured in current project.
If needed, configure the signingConfigs in D:\Jenkins\workspace\FrameworkProj\build-profile.json5 .\u001b[39m
> hvigor \u001b[32mFinished ::SignApp… after 2 ms \u001b[39m
> hvigor \u001b[32mFinished ::assembleApp… after 1 ms \u001b[39m
> hvigor \u001b[32mBUILD SUCCESSFUL in 21 s 81 ms \u001b[39m
> hvigor \u001b[91mERROR: EPERM: operation not permitted, unlink ‘D:\Jenkins\workspace\FrameworkProj.hvigor\report.svn’\u001b[39m
> hvigor \u001b[91mERROR: BUILD FAILED in 21 s 202 ms \u001b[39m
node:fs:1780
handleErrorFromBinding(ctx);
^
Error: EPERM: operation not permitted, unlink ‘D:\Jenkins\workspace\FrameworkProj.hvigor\report.svn’
at Object.unlinkSync (node:fs:1780:3)
at C:\Windows\system32\config\systemprofile.hvigor\project_caches\dec88c375e1ec3ce7acebec47f45fd0a\workspace\node_modules.pnpm@ohos+hvigor@4.1.2\node_modules@ohos\hvigor\src\base\common\report\report-service-impl.js:1:1628
at Array.forEach (<anonymous>)
at ReportServiceImpl.deleteUnusableFiles (C:\Windows\system32\config\systemprofile.hvigor\project_caches\dec88c375e1ec3ce7acebec47f45fd0a\workspace\node_modules.pnpm@ohos+hvigor@4.1.2\node_modules@ohos\hvigor\src\base\common\report\report-service-impl.js:1:1496)
at ReportServiceImpl.report (C:\Windows\system32\config\systemprofile.hvigor\project_caches\dec88c375e1ec3ce7acebec47f45fd0a\workspace\node_modules.pnpm@ohos+hvigor@4.1.2\node_modules@ohos\hvigor\src\base\common\report\report-service-impl.js:1:779)
at wrapUpBeforeExit (C:\Windows\system32\config\systemprofile.hvigor\project_caches\dec88c375e1ec3ce7acebec47f45fd0a\workspace\node_modules.pnpm@ohos+hvigor@4.1.2\node_modules@ohos\hvigor\src\base\internal\lifecycle\hvigor-process.js:1:7717)
at C:\Windows\system32\config\systemprofile.hvigor\project_caches\dec88c375e1ec3ce7acebec47f45fd0a\workspace\node_modules.pnpm@ohos+hvigor@4.1.2\node_modules@ohos\hvigor\src\base\internal\lifecycle\hvigor-process.js:1:4132
at HvigorBuildProcess.<anonymous> (C:\Windows\system32\config\systemprofile.hvigor\project_caches\dec88c375e1ec3ce7acebec47f45fd0a\workspace\node_modules.pnpm@ohos+hvigor@4.1.2\node_modules@ohos\hvigor\src\base\internal\lifecycle\hvigor-process.js:1:2889)
at Object.onceWrapper (node:events:627:28)
at HvigorBuildProcess.emit (node:events:513:28) {
errno: -4048,
syscall: ‘unlink’,
code: ‘EPERM’,
path: ‘D:\Jenkins\workspace\FrameworkProj\.hvigor\report\.svn’
}
Node.js v18.14.1
更多关于HarmonyOS 鸿蒙Next 在使用jenkins 进行CI集成的问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
原因:由于jenkins插件市场,集成的SVN插件,使用的工具版本比较旧,这种旧版本会自动生成.svn序列文件,导致在 .hvigor 中同样也生成了 相关SVN的文件,所以华为command-line在编译时会去操作 .hvigor中的目录
解决方案:调整安装的 jenkins svn 插件使用的 SVN工具版本即可
【调整后,只会在工程根目录产生 .svn文件夹和相关文件】
更多关于HarmonyOS 鸿蒙Next 在使用jenkins 进行CI集成的问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在使用Jenkins对HarmonyOS鸿蒙Next进行CI(持续集成)集成时,可能遇到的问题主要集中在构建配置、依赖管理以及插件兼容性方面。
-
构建配置:确保Jenkins中的构建任务正确配置了HarmonyOS项目的编译环境,包括SDK路径、编译命令等。这通常需要在Jenkins的系统配置中指定环境变量,或在构建脚本中明确设置。
-
依赖管理:HarmonyOS项目可能依赖于特定的库或模块,需要确保这些依赖在Jenkins服务器上可用。可以通过Maven、Gradle等构建工具管理依赖,或在Jenkins中配置私有仓库以获取这些依赖。
-
插件兼容性:检查Jenkins中安装的插件是否与HarmonyOS项目的构建流程兼容。例如,某些插件可能不支持HarmonyOS特定的编译指令或文件格式,导致构建失败。
-
日志分析:构建失败后,详细检查Jenkins的构建日志,以获取错误信息。这些信息通常能指出构建失败的具体原因,如缺少文件、编译错误等。
-
权限问题:确保Jenkins服务有足够的权限访问HarmonyOS项目的源代码和构建输出目录。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。