一种针对于Docker构建桌面终端的方法及系统与流程
- 国知局
- 2024-12-06 12:30:37
本发明涉及计算机应用,特别是一种针对于docker构建桌面终端的方法及系统。
背景技术:
1、在利用docker容器构建与打包桌面终端应用时,当前的技术栈已经相当成熟且多样化,涵盖了诸如多阶段构建策略、docker volume缓存机制、高度优化的ci/cd(持续集成/持续部署)管道,以及与electron builder等现代化前端框架构建工具的深度集成。这些技术手段不仅有效提升了构建流程的自动化与灵活性,还显著减少了最终镜像的大小,从而优化了资源使用和部署效率。
2、尽管这些方法在优化构建流程方面取得了显著成效,但该方法在使用时还存在有一定的问题,尤其是缓存依赖工具和构建工具链的下载环节。这些工具往往体积庞大,且需要频繁更新以保持兼容性和安全性,因此下载时间在整个构建过程中占据了相当大的比例。这不仅延长了终端用户的等待时间,降低了构建效率,还可能因网络延迟、国际带宽限制或国外源服务不稳定等因素,导致下载失败,进一步阻碍了开发流程的顺畅进行。
技术实现思路
1、针对上述缺陷,本发明的目的在于提出一种针对于docker构建桌面终端的方法及系统,解决因网络原因而导致用户桌面终端无法构建的问题,并提高桌面终端在构建时的速度和增强构建的稳定性。
2、为达此目的,本发明采用以下技术方案:一种针对于docker构建桌面终端的方法,包括如下步骤:
3、步骤s1:准备electron并进入electron的根目录;
4、步骤s2:根据electron的版本,在根目录中下载对应版本的electron和electron-builder缓存依赖工具;
5、步骤s3:定义基于electron根目录内已下载好的electron-builder缓存依赖工具的源路径;
6、步骤s4:根据用户所使用的系统调用脚本函数,根据源路径将electron-builder缓存依赖工具拷贝到目标路径,完成桌面终端的构建。
7、优选的,若用户系统为linux,则在执行步骤s4前还需要执行如下步骤:
8、读取命令参数,使用第一个参数构建docker镜像。
9、优选的,当用户系统为linux时,步骤s4的具体步骤如下:
10、获取或设置用于构建的docker镜像名称;
11、执行常规构建命令npm run build;
12、启动指定名称为electron-builder的docker容器,并将项目目录挂载到容器内的/project目录中;
13、进入docker容器内;
14、根据源路径将electron-builder缓存依赖工具拷贝到docker容器中的目标路径,并设置必要的文件权限;
15、在docker容器内执行electron builder的打包操作,并在打包完成后,删除docker容器。
16、优选的,在进入docker容器时,还需要执行如下步骤:
17、进入docker容器前,判断需要交互式执行docker命令,若需要执行docker命令,则执行docker exec-it命令,若不需要执行docker命令,则执行docker exec命令;
18、进入docker容器时,创建electron-builder缓存依赖工具的目录,作为目标路径。
19、优选的,执行步骤s4后,还需要执行如下步骤:
20、步骤s5:检查docker容器列表,判断是否存在有名为electron_builder的docker容器存在,若存在,则删除该容器。
21、优选的,若用户系统为windows,所述步骤s4的具体步骤如下:
22、获取用户主目录,定义针对windows系统中electron-builder缓存依赖工具的目标路径;
23、调用copydata函数,根据源路径将electron-builder缓存依赖工具拷贝到目标路径中;
24、执行用于windows平台的构建命令npm run build:win。
25、优选的,在调用copydata函数时,通过递归的方式将electron-builder缓存依赖工具拷贝到目标路径中,并根据拷贝结果输出日志。
26、一种针对于docker构建桌面终端的系统,使用所述一种针对于docker构建桌面终端的方法,包括准备模块、部署模块、定义模块以及安装模块;
27、所述准备模块用于准备electron并进入electron的根目录;
28、所述部署模块用于根据electron的版本,在根目录中下载对应版本的electron和electron-builder缓存依赖工具;
29、所述定义模块用于定义基于electron根目录内已下载好的electron-builder缓存依赖工具的源路径;
30、所述安装模块用于根据用户所使用的系统调用脚本函数,根据源路径将electron-builder缓存依赖工具拷贝到目标路径,完成桌面终端的构建。
31、上述技术方案中的一个技术方案具有如下优点或有益效果:1.通过下载和准备electron-builder的缓存依赖工具(步骤s2和s3),可以减少后续构建过程中的下载和安装时间。这些缓存依赖工具通常包含构建过程中需要的大量库和工具,预先准备好它们可以显著加快构建速度。这样就避免了第一次下镜像出现网络异常的问题,解决了国际带宽限制或国外源服务不稳定等因素,而导致下载失败的问题。
32、2.把用于构建桌面终端应用的electron-builder缓存依赖工具预先下载到项目内,并把工具传输到用于构建应用的镜像容器内的特定目录,这样就不用每次构建桌面终端应用的时候都要去下载依赖工具。提升桌面终端在构建时的速度和增强构建的稳定性。
技术特征:1.一种针对于docker构建桌面终端的方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的一种针对于docker构建桌面终端的方法,其特征在于,若用户系统为linux,则在执行步骤s4前还需要执行如下步骤:
3.根据权利要求2所述的一种针对于docker构建桌面终端的方法,其特征在于,当用户系统为linux时,步骤s4的具体步骤如下:
4.根据权利要求3所述的一种针对于docker构建桌面终端的方法,其特征在于,在进入docker容器时,还需要执行如下步骤:
5.根据权利要求3所述的一种针对于docker构建桌面终端的方法,其特征在于,执行步骤s4后,还需要执行如下步骤:
6.根据权利要求1所述的一种针对于docker构建桌面终端的方法,其特征在于,若用户系统为windows,所述步骤s4的具体步骤如下:
7.根据权利要求6所述的一种针对于docker构建桌面终端的方法,其特征在于,在调用copydata函数时,通过递归的方式将electron-builder缓存依赖工具拷贝到目标路径中,并根据拷贝结果输出日志。
8.一种针对于docker构建桌面终端的系统,使用权利要求1~7任一项所述一种针对于docker构建桌面终端的方法,其特征在于,包括准备模块、部署模块、定义模块以及安装模块;
技术总结一种针对于Docker构建桌面终端的方法,包括如下步骤:准备electron并进入electron的根目录;根据electron的版本,在根目录中下载对应版本的electron和electron‑builder缓存依赖工具;定义基于electron根目录内已下载好的electron‑builder缓存依赖工具的源路径;根据用户所使用的系统调用脚本函数,根据源路径将electron‑builder缓存依赖工具拷贝到目标路径,完成桌面终端的构建。避免了第一次下镜像出现网络异常的问题,解决了国际带宽限制或国外源服务不稳定等因素,而导致下载失败的问题。技术研发人员:邓维滔,孔令超,吕火生,彭志鸿,罗耿博受保护的技术使用者:西藏众陶联供应链服务有限公司技术研发日:技术公布日:2024/12/2本文地址:https://www.jishuxx.com/zhuanli/20241204/341823.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。