基于Jenkins的代码打包验证方法及装置制造方法及图纸

技术编号:36960176 阅读:54 留言:0更新日期:2023-03-22 19:20
本申请实施例提供了一种基于Jenkins的代码打包验证方法及装置。所述方法包括:调用GitLab获取各代码编译平台提交的代码;响应于代码编译完成,依据各所述代码编译平台之间的依赖关系,对各所述代码执行代码集成操作,得到各所述代码编译平台对应的应用执行文件和数据包;利用所述数据包对所述应用执行文件进行验证,得到验证结果;响应于所述验证结果符合预期,发布所述应用执行文件。本申请实施例能够验证代码完整性,降低工作量,提高了研发效率,且能够避免代码同步时出现问题。且能够避免代码同步时出现问题。且能够避免代码同步时出现问题。

【技术实现步骤摘要】
基于Jenkins的代码打包验证方法及装置


[0001]本申请涉及软件开发
,尤其涉及一种基于Jenkins的代码打包验证方法及装置。

技术介绍

[0002]目前,项目开发通常是多模块协作的方式完成的,在进行代码打包时是由各个模块的负责人手动打包,由于代码量不同,计算模块的编译可能长达数小时,对编译完成、工作完整性都有一定的挑战,有时候无法验证编译的完整性,会导致工作的重复、时间的浪费。同时,由于是多模块协作,通常模块依赖信息的传递是非常重要的,需要两方的代码完全匹配才能给出正确的版本,项目本身有多个repo的依赖,人工传递消息、代码同步消息也容易出现问题。并且,多模块协作的方式均是等到最后再去验证,就需要在应用执行时从应用执行任务的过程中追查到底哪里出了问题,由于涉及多个模块,追查问题的过程会较长,同时需要多个人确认,这样研发周期拉长,研发效率降低。

技术实现思路

[0003]本申请实施例提供一种基于Jenkins的代码打包验证方法及装置,以解决现有技术中项目开发方式,无法验证编译的完整性,会导致工作的重复、时间的浪费。同时,人工传递消息、代码同步消息也容易出现问题,在进行验证时需要多个人确认,这样研发周期拉长,研发效率降低的问题。
[0004]为了解决上述技术问题,本申请实施例是这样实现的:
[0005]第一方面,本申请实施例提供了一种基于Jenkins的代码打包验证方法,所述方法包括:
[0006]调用GitLab获取各代码编译平台提交的代码;
[0007]响应于代码编译完成,依据各所述代码编译平台之间的依赖关系,对各所述代码执行代码集成操作,得到各所述代码编译平台对应的应用执行文件和数据包;
[0008]利用所述数据包对所述应用执行文件进行验证,得到验证结果;
[0009]响应于所述验证结果符合预期,发布所述应用执行文件。
[0010]可选地,在所述获取各代码编译平台提交的代码之后,还包括:
[0011]在获取到各所述各代码编译平台每次提交的代码之后,对每次提交的代码进行代码检查操作;
[0012]所述代码检查操作包括:错误代码检查、代码风格检查和代码安全检查中的至少一种。
[0013]可选地,所述依据各所述代码编译平台之间的依赖关系,对各所述代码执行代码集成操作,得到各所述代码编译平台对应的应用执行文件和数据包,包括:
[0014]根据各所述代码编译平台提交的代码中的项目名称,获取各所述代码编译平台之间的依赖关系;
[0015]根据所述依赖关系,对存在依赖的所述代码执行打包操作,得到代码包;
[0016]对所述代码包执行代码编译操作,得到所述应用执行文件和所述数据包。
[0017]可选地,所述利用所述数据包对所述应用执行文件进行验证,得到验证结果,包括:
[0018]根据负载均衡策略,将所述数据包和所述应用执行文件部署于预置硬件板上;
[0019]调用Jenkins的验证任务利用所述数据包对所述应用执行文件进行验证,得到所述验证结果。
[0020]可选地,所述调用Jenkins的验证任务利用所述数据包对所述应用执行文件进行验证,得到所述验证结果,包括:
[0021]将所述数据包导入预先加载的应用程序内运行,以得到所述应用程序输出的产出数据;
[0022]根据所述产出数据与预期数据,确定所述验证结果。
[0023]可选地,在所述将所述数据包导入预先加载的应用程序内运行,以得到所述应用程序输出的产出数据之后,还包括:
[0024]获取所述应用程序输出的所述应用执行文件对应的日志数据;
[0025]将所述日志数据和所述产出数据保存于所述Jenkins的服务内。
[0026]第二方面,本申请实施例提供了一种基于Jenkins的代码打包验证装置,所述装置包括:
[0027]提交代码获取模块,用于调用GitLab获取各代码编译平台提交的代码;
[0028]代码集成操作模块,用于响应于代码编译完成,依据各所述代码编译平台之间的依赖关系,对各所述代码执行代码集成操作,得到各所述代码编译平台对应的应用执行文件和数据包;
[0029]验证结果获取模块,用于利用所述数据包对所述应用执行文件进行验证,得到验证结果;
[0030]应用执行文件发布模块,用于响应于所述验证结果符合预期,发布所述应用执行文件。
[0031]可选地,所述装置还包括:
[0032]代码检查操作模块,用于在获取到各所述各代码编译平台每次提交的代码之后,对每次提交的代码进行代码检查操作;
[0033]所述代码检查操作包括:错误代码检查、代码风格检查和代码安全检查中的至少一种。
[0034]可选地,所述代码集成操作模块包括:
[0035]依赖关系获取单元,用于根据各所述代码编译平台提交的代码中的项目名称,获取各所述代码编译平台之间的依赖关系;
[0036]代码包获取单元,用于根据所述依赖关系,对存在依赖的所述代码执行打包操作,得到代码包;
[0037]应用执行文件获取单元,用于对所述代码包执行代码编译操作,得到所述应用执行文件和所述数据包。
[0038]可选地,所述验证结果获取模块包括:
[0039]应用执行文件部署单元,用于根据负载均衡策略,将所述数据包和所述应用执行文件部署于预置硬件板上;
[0040]验证结果获取单元,用于调用Jenkins的验证任务利用所述数据包对所述应用执行文件进行验证,得到所述验证结果。
[0041]可选地,所述验证结果获取单元包括:
[0042]产出数据获取子单元,用于将所述数据包导入预先加载的应用程序内运行,以得到所述应用程序输出的产出数据;
[0043]验证结果确定子单元,用于根据所述产出数据与预期数据,确定所述验证结果。
[0044]可选地,所述装置还包括:
[0045]日志数据获取模块,用于获取所述应用程序输出的所述应用执行文件对应的日志数据;
[0046]日志数据保存模块,用于将所述日志数据和所述产出数据保存于所述Jenkins的服务内。
[0047]第三方面,本申请实施例提供了一种电子设备,包括:
[0048]存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一项所述的基于Jenkins的代码打包验证方法。
[0049]第四方面,本申请实施例提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一项所述的基于Jenkins的代码打包验证方法。
[0050]在本申请实施例中,通过调用GitLab获取各代码编译平台提交的代码。响应于代码编译完成,依据各代码编译平台之间的依赖关系,对各代码执行代码集成操作,得到各代码编译平台对应的应用执行文件和数据包。利用数据包对应本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Jenkins的代码打包验证方法,其特征在于,所述方法包括:调用GitLab获取各代码编译平台提交的代码;响应于代码编译完成,依据各所述代码编译平台之间的依赖关系,对各所述代码执行代码集成操作,得到各所述代码编译平台对应的应用执行文件和数据包;利用所述数据包对所述应用执行文件进行验证,得到验证结果;响应于所述验证结果符合预期,发布所述应用执行文件。2.根据权利要求1所述的方法,其特征在于,在所述获取各代码编译平台提交的代码之后,还包括:在获取到各所述各代码编译平台每次提交的代码之后,对每次提交的代码进行代码检查操作;所述代码检查操作包括:错误代码检查、代码风格检查和代码安全检查中的至少一种。3.根据权利要求1所述的方法,其特征在于,所述依据各所述代码编译平台之间的依赖关系,对各所述代码执行代码集成操作,得到各所述代码编译平台对应的应用执行文件和数据包,包括:根据各所述代码编译平台提交的代码中的项目名称,获取各所述代码编译平台之间的依赖关系;根据所述依赖关系,对存在依赖的所述代码执行打包操作,得到代码包;对所述代码包执行代码编译操作,得到所述应用执行文件和所述数据包。4.根据权利要求1所述的方法,其特征在于,所述利用所述数据包对所述应用执行文件进行验证,得到验证结果,包括:根据负载均衡策略,将所述数据包和所述应用执行文件部署于预置硬件板上;调用Jenkins的验证任务利用所述数据包对所述应用执行文件进行验证,得到所述验证结果。5.根据权利要求4所述的方法,其特征在于,所述调用Jenkins的验证任务利用所述数据包对所述应用执行文件进行验证,得到所述验证结果,包括:将所述数据包导入预先加载的应用程序内运行,以得到所述应用程序输出的产出数据;根据所述产出数据与预期数据,确定所述验证结果。6.根据权利要求5所述的方法,其特征在于,在所述将所述数据包导入预先加载的应用程序内运行,以得到所述应用程序输出的产出数据之后,还包括:获取所述应用程序输出的所述应用执行文件对应的日志数据;将所述日志数据和所述产出数据保存于所述Jenkins的服务内。7.一种基于Jenkins的代码打包验证装置,其特征在于,所述装置包括:提交代码获取模块,用于调用GitLab获取各代码编译平台提交的代码;代码集成操作模块,用于响应于代码编译完成,依据各所述代码编译平台之间...

【专利技术属性】
技术研发人员:张言
申请(专利权)人:北京鉴智科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1