一种基于容器化的持续集成的方法及设备技术

技术编号:27655246 阅读:8 留言:0更新日期:2021-03-12 14:17
本申请的目的是提供一种基于容器化的持续集成的方法及设备,本申请包括代码管理系统,其中,代码管理系统包括代码审核工具和应用容器引擎;其中,代码管理系统接收至少一个客户端发送的源代码,并对每个客户端对应的源代码进行管理和配置;通过代码审核工具分别对每个客户端对应的源代码进行审核,得到每个客户端对应的审核通过的源代码并提交至代码管理系统;在应用容器引擎中,对至少一个客户端对应的审核通过的源代码进行打包,得到至少一个客户端对应的代码包,实现了在软件开发过程中全流程的打通,利用工具跑通基础编译、测试,然后通过代码审核工具对各个客户端对应的源代码进行审核,减少逻辑出错的可能性,从而进一步提升研发的效率。

【技术实现步骤摘要】
一种基于容器化的持续集成的方法及设备
本申请涉及计算机领域,尤其涉及一种基于容器化的持续集成的方法及设备。
技术介绍
随着持续集成技术的不断发展,软件的团队开发变得越来越普遍,持续集成可以让团队协作开发软件变得更加方便。但是,目前的持续集成还存在以下缺点:1、编译麻烦,每次新加服务都要解决编译依赖、编译版本、编译本身的问题;2、现有技术中的集成方法,对于代码Code的管理、规范介绍比较少,没有统一的规范,不够通用;3、持续集成后的相关代码,部署问题还是比较多,主要存在版本问题、服务器本地链接库等等问题。
技术实现思路
本申请的一个目的是提供一种基于容器化的持续集成的方法及设备,以实现在软件开发过程中全流程的打通,利用工具跑通基础的编译、单元测试,然后通过对代码的审核,减少逻辑出错的可能性,从而进一步提升研发的效率。根据本申请的一个方面,提供了一种基于容器化的持续集成的方法,其中,所述方法包括:代码管理系统,其中,所述代码管理系统包括代码审核工具和应用容器引擎;其中,所述代码管理系统接收至少一个客户端发送的源代码,并对每个所述客户端对应的源代码进行管理和配置;通过所述代码审核工具分别对每个所述客户端对应的源代码进行审核,得到每个所述客户端对应的审核通过的源代码并提交至所述代码管理系统;在所述应用容器引擎中,对所述至少一个所述客户端对应的审核通过的源代码进行打包,得到所述至少一个客户端对应的代码包。进一步地,上述一种基于容器化的持续集成的方法中,其中,所述客户端对应的源代码由所述客户端进行代码编写、代码编译以及单元测试后得到。进一步地,上述一种基于容器化的持续集成的方法中,所述通过所述代码审核工具分别对每个所述客户端对应的源代码进行审核,得到每个所述客户端对应的审核通过的源代码,包括:所述通过所述代码审核工具分别对每个所述客户端对应的源代码进行风格检查和逻辑检查,得到每个所述客户端对应的审核通过的源代码。进一步地,上述一种基于容器化的持续集成的方法中,所述代码管理系统为GitLab管理系统。进一步地,上述一种基于容器化的持续集成的方法中,所述在所述应用容器引擎中,对所述至少一个所述客户端对应的审核通过的源代码进行打包,得到所述至少一个客户端对应的代码包,包括:在所述应用容器引擎中,采用所述GitLab管理系统中的运行环境,对所述至少一个所述客户端对应的审核通过的源代码进行打包,得到所述至少一个客户端对应的代码包。进一步地,上述一种基于容器化的持续集成的方法中,其中,所述代码审核工具分别对每个所述客户端对应的源代码进行审核之后,还包括:将所述客户端对应的未审核通过的源代码返回至所述客户端。根据本申请的另一方面,还提供了一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如上述一种基于容器化的持续集成的方法。根据本申请的另一方面,还提供了一种基于容器化的持续集成的设备,其中,所述设备包括:一个或多个处理器;非易失性存储介质,用于存储一个或多个计算机可读指令,当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述一种基于容器化的持续集成的方法。与现有技术相比,本申请包括代码管理系统,其中,所述代码管理系统包括代码审核工具和应用容器引擎;其中,所述代码管理系统接收至少一个客户端发送的源代码,并对每个所述客户端对应的源代码进行管理和配置;通过所述代码审核工具分别对每个所述客户端对应的源代码进行审核,得到每个所述客户端对应的审核通过的源代码并提交至所述代码管理系统;在所述应用容器引擎中,对所述至少一个所述客户端对应的审核通过的源代码进行打包,得到所述至少一个客户端对应的代码包,实现了在软件开发过程中全流程的打通,利用工具跑通基础编译、测试,然后通过代码审核工具对各个客户端对应的源代码进行审核,减少逻辑出错的可能性,从而进一步提升研发的效率。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1示出根据本申请一个方面的一种基于容器化的持续集成的方法的流程示意图。附图中相同或相似的附图标记代表相同或相似的部件。具体实施方式下面结合附图对本申请作进一步详细描述。在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。如图1所示,本申请一个方面的一种基于容器化的持续集成的方法的流程示意图。在此,所述容器化Docker是一个开源的应用容器引擎,可以让开发者打包相关代码到一个可移植的Docker(容器中),然后可以部署任务到Docker基础服务的机器中,Docker可以直接运行在宿主的操作系统,底层上调用Cgroup等等Linux特性,直接调动操作系统的系统调用接口,具有开销小、容器复杂度低、启动快等等特性。其中,所述方法包括代码管理系统,其中,所述代码管理系统包括代码审核工具和应用容器引擎,具体包括:首先,所述代码管理系统接收至少一个客户端发送的源代码,并对每个所述客户端对应的源代码进行管理和配置;其中,所述客户端可以是一个,也可以是多个,所有的客户端编写的源代码都会发送至所述代码管理系统进行代码的管理与配置。在本申请一优选实施例中,可以将所述客户端的数量优选为6个,即,在一个研发过程中有6个研发人员进行共同研发,分别负责项目的一个部分,此时会有6个客户端,在每个客户端完成相应的源代码之后,每个客户端对应的源代码都会上传到所述代码管理系统,所述代码管理系统接收来自所述6个客户端发送的源代码,并对所述6个客户端发送的所述源代码进行管理和配置。之后,通过所述代码审核工具分别对每个所述客户端对应的源代码进行审核,得到每个所述客户端对本文档来自技高网...

【技术保护点】
1.一种基于容器化的持续集成的方法,其中,所述方法包括:/n代码管理系统,其中,所述代码管理系统包括代码审核工具和应用容器引擎;其中,/n所述代码管理系统接收至少一个客户端发送的源代码,并对每个所述客户端对应的源代码进行管理和配置;/n通过所述代码审核工具分别对每个所述客户端对应的源代码进行审核,得到每个所述客户端对应的审核通过的源代码并提交至所述代码管理系统;/n在所述应用容器引擎中,对所述至少一个所述客户端对应的审核通过的源代码进行打包,得到所述至少一个客户端对应的代码包。/n

【技术特征摘要】
1.一种基于容器化的持续集成的方法,其中,所述方法包括:
代码管理系统,其中,所述代码管理系统包括代码审核工具和应用容器引擎;其中,
所述代码管理系统接收至少一个客户端发送的源代码,并对每个所述客户端对应的源代码进行管理和配置;
通过所述代码审核工具分别对每个所述客户端对应的源代码进行审核,得到每个所述客户端对应的审核通过的源代码并提交至所述代码管理系统;
在所述应用容器引擎中,对所述至少一个所述客户端对应的审核通过的源代码进行打包,得到所述至少一个客户端对应的代码包。


2.根据权利要求1所述的方法,其中,所述客户端对应的源代码由所述客户端进行代码编写、代码编译以及单元测试后得到。


3.根据权利要求1所述的方法,所述通过所述代码审核工具分别对每个所述客户端对应的源代码进行审核,得到每个所述客户端对应的审核通过的源代码,包括:
所述通过所述代码审核工具分别对每个所述客户端对应的源代码进行风格检查和逻辑检查,得到每个所述客户端对应的审核通过的源代码。


4.根据权利要求1所述的方法,所述代码管理系统为Git...

【专利技术属性】
技术研发人员:张言季俊
申请(专利权)人:上海芯翌智能科技有限公司
类型:发明
国别省市:上海;31

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

1