源代码跨架构的同步构建方法、装置、设备及存储介质与流程

文档序号:28218383发布日期:2021-12-28 23:07阅读:85来源:国知局
源代码跨架构的同步构建方法、装置、设备及存储介质与流程

1.本发明涉及流水线技术领域,特别涉及一种源代码跨架构的同步构建方法、装置、设备及计算机可读存储介质。


背景技术:

2.随着从“互联网+”开始,互联网企业开始取代传统it企业成为了数据时代的领军者,以开源技术作为“营养液”,借助微服务化、容器和迭代等一些列原生化应用操作,互联网企业对于传统行业和企业进行了无情碾压。对于传统行业企业来说,惟有奋起直追,加速完成应用的云原生化改造以及创新,从目前的状况看,除了传统的x86处理,以arm(一种处理器架构)、risc

v(一种处理器架构)等处理器也在飞速发展,呈现多架构并存的态势,那么如何做到业务系统在不同架构处理器上快速同步无差异构建、平滑迁移变成了一个亟需解决的问题。
3.然而,基于现有的传统持续构建方法,无法实现业务的在多种不同架构的处理器上进行同步构建,具备很大的技术壁垒;因此,如何能够实现业务系统在多种处理器架构上无差异同步构建,推进处理器多样化健康发展,推动云原生技术发展落地,是现今急需解决的问题。


技术实现要素:

4.本发明的目的是提供一种源代码跨架构的同步构建方法、装置、设备及计算机可读存储介质,以实现业务系统在多种处理器架构上无差异同步构建,推进处理器多样化健康发展,推动云原生技术发展落地。
5.为解决上述技术问题,本发明提供一种源代码跨架构的同步构建方法,应用于k8s集群的控制节点,包括:
6.根据获取的流水线执行指令中的流水线定义信息,生成所述流水线执行指令对应的流水线从节点实例;
7.根据所述流水线执行指令中的处理器架构要求信息和所述k8s集群中各计算节点的节点架构信息,确定所述计算节点中的目标计算节点;
8.将所述流水线从节点实例分发到所述目标计算节点,利用所述目标计算节点构建所述流水线从节点实例。
9.可选的,所述根据获取的流水线执行指令中的流水线定义信息,生成所述流水线执行指令对应的流水线从节点实例,包括:
10.从数据库中查找所述流水线定义信息对应的源代码流水线;
11.根据所述源代码流水线,生成所述流水线从节点实例。
12.可选的,所述从数据库中查找所述流水线定义信息对应的源代码流水线之前,还包括:
13.获取流水线构建指令;其中,所述流水线构建指令包括业务源代码;
14.根据所述流水线构建指令中的流水线构建信息,构建所述业务源代码对应的源代码流水线,并将所述源代码流水线存储到所述数据库。
15.可选的,所述获取流水线构建指令,包括:
16.接收客户端设备通过云平台的图形化界面传输的流水线构建指令。
17.可选的,该方法还包括:
18.接收各所述计算节点发送的各自的节点架构信息。
19.可选的,所述根据所述流水线执行指令中的处理器架构要求信息和所述k8s集群中各计算节点的节点架构信息,确定所述计算节点中的目标计算节点,包括:
20.根据所述处理器架构要求信息,确定每个所述流水线从节点实例各自对应的选择节点架构信息;
21.根据所述选择节点架构信息和所述节点架构信息,确定所述目标计算节点。
22.可选的,所述根据所述选择节点架构信息和所述节点架构信息,确定所述目标计算节点,包括:
23.利用kube

scheduler组件对所述选择节点架构信息与所述节点架构信息进行匹配,将所述选择节点架构信息匹配到的节点架构信息对应的计算节点确定为所述目标计算节点。
24.本发明还提供了一种源代码跨架构的同步构建装置,应用于k8s集群的控制节点,包括:
25.生成模块,用于根据获取的流水线执行指令中的流水线定义信息,生成所述流水线执行指令对应的流水线从节点实例;
26.确定模块,用于根据所述流水线执行指令中的处理器架构要求信息和所述k8s集群中各计算节点的节点架构信息,确定所述计算节点中的目标计算节点;
27.分发模块,用于将所述流水线从节点实例分发到所述目标计算节点,利用所述目标计算节点构建所述流水线从节点实例。
28.本发明还提供了一种源代码跨架构的同步构建设备,包括:
29.存储器,用于存储计算机程序;
30.处理器,用于执行所述计算机程序时实现如上述所述的源代码跨架构的同步构建方法的步骤。
31.此外,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的源代码跨架构的同步构建方法的步骤。
32.本发明所提供的一种源代码跨架构的同步构建方法,应用于k8s集群的控制节点,包括:根据获取的流水线执行指令中的流水线定义信息,生成流水线执行指令对应的流水线从节点实例;根据流水线执行指令中的处理器架构要求信息和k8s集群中各计算节点的节点架构信息,确定计算节点中的目标计算节点;将流水线从节点实例分发到目标计算节点,利用目标计算节点构建流水线从节点实例;
33.可见,本发明通过将流水线从节点实例分发到目标计算节点,利用目标计算节点构建流水线从节点实例,使业务系统能够在流水线执行时,根据流水线制品的架构要求自动选择对应架构的节点进行调度,完成源码构建和流水线制品的输出,从而完成源代码跨
处理器架构的同步无差异化构建,实现云原生业务在信息技术应用创新领域的快速落地,推进了处理器多元化健康发展。此外,本发明还提供了一种源代码跨架构的同步构建装置、设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
34.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
35.图1为本发明实施例所提供的一种源代码跨架构的同步构建方法的流程图;
36.图2为本发明实施例所提供的另一种源代码跨架构的同步构建方法的结构示意图;
37.图3为本发明实施例所提供的一种源代码跨架构的同步构建装置的结构框图;
38.图4为本发明实施例所提供的一种源代码跨架构的同步构建设备的结构示意图;
39.图5为本发明实施例所提供的一种源代码跨架构的同步构建设备的具体结构示意图。
具体实施方式
40.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
41.请参考图1,图1为本发明实施例所提供的一种源代码跨架构的同步构建方法的流程图。该方法应用于k8s集群的控制节点,可以包括:
42.步骤101:根据获取的流水线执行指令中的流水线定义信息,生成流水线执行指令对应的流水线从节点实例。
43.其中,本实施例所提供的源代码跨架构的同步构建方法可以应用于k8s(kubernetes,一种谷歌开源的容器集群管理系统)集群的控制节点(如服务器),即控制节点可以在用户实际执行流水线时,生成流水线从节点实例并分发到k8s集群中对应处理器架构的计算节点(即目标计算节点),从而在计算节点上完成流水线的持续构建、输出流水线制品和持续部署。
44.具体的,本步骤中的流水线执行指令可以为用户操作客户端设备发送的启动执行流水线的指令。本步骤中的流水线从节点实例可以为执行流水线定义,完成各流水线步骤的动作的slave实例(从节点实例),即本实施例中在云平台中的流水线可以采用master(主节点)

slave模式,针对流水线的定义和转化由作为master(如图2中的ci

master)的控制节点完成,使得用户通过流水线执行指令控制执行流水线时,控制节点可以自动生成能够执行流水线定义,完成各流水线步骤的流水线slave实例(即流水线从节点实例,如图2中的ci

slave)。
45.对应的,本步骤中的流水线定义信息可以为需要执行的流水线的定义信息,即作
为master的控制节点可以为根据流水线定义信息,生成流水线slave实例,以利用流水线slave实例执行流水线定义,完成各流水线步骤的动作。对于本步骤中的流水线定义信息的具体内容,即控制节点根据流水线定义信息,生成流水线从节点实例的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如流水线定义信息可以具体为用于构建流水线的流水线构建信息,即控制节点可以根据流水线定义信息,构建获取的业务源代码对应的源代码流水线,如针对业务源代码,支持按照阶段和步骤制定构建源代码流水线的步骤(如源码拉取、代码编译、依赖组建和制品输出等);利用源代码流水线,生成流水线从节点实例。流水线定义信息也可以具体为预先构建的源代码流水线的标识信息,即控制节点可以利用流水线执行指令中的流水线定义信息,从数据库中查找流水线定义信息对应的源代码流水线;根据源代码流水线,生成流水线从节点实例。本实施例对此不做任何限制。
46.相应的,本实施例所提供的方法还可以包括数据库中源代码流水线的配置过程,如控制节点可以获取流水线构建指令;其中,流水线构建指令包括业务源代码;根据流水线构建指令中的流水线构建信息,构建业务源代码对应的源代码流水线,并将源代码流水线存储到数据库;如图2所示,控制节点可以利用控制组件根据用户通过人机交互接口(portal)传输的流水线构建指令,根据用户定义流水线的流水线构建信息,配置构建源代码流水线并存储到数据库中。也就是说,控制节点利用源码持续构建流水线,针对不同的业务源代码,支持按照阶段和步骤制定构建源代码流水线的步骤,如源码拉取、代码编译、依赖组建和制品输出等,并且可以支持为源代码流水线设定执行的处理器架构,保证不同的业务代码可以按需完成构建。
47.具体的,本实施例并不限定控制节点获取流水线构建指令的具体方式,如控制节点接收客户端设备通过云平台的图形化界面传输的流水线构建指令,即用户可以操作客户端设备在云平台中通过图形化界面进行业务源代码接入,可以支持git(一个开源的分布式版本控制系统)、github(一个面向开源及私有软件项目的托管平台)和svn(一个开放源代码的版本控制系统)等代码配置库;相应的,控制节点可以根据流水线构建指令中用户定义的流水线构建信息,利用接入的业务源代码,创建源代码流水线,如分阶段的去指定流水线步骤,主要可以指定代码编译和依赖组建,还可以指定流水线支持的处理器架构和对应架构的基础镜像。
48.步骤102:根据流水线执行指令中的处理器架构要求信息和k8s集群中各计算节点的节点架构信息,确定计算节点中的目标计算节点。
49.其中,本步骤中的处理器架构要求信息可以为指定执行的流水线的处理器架构的信息,本步骤中的各计算节点的节点架构信息可以为各计算节点各自的处理器架构的信息。
50.对应的,本步骤之前还可以包括控制节点获取k8s集群中各计算节点的节点架构信息的过程,如控制节点可以接收各计算节点发送的各自的节点架构信息,即各计算节点可以向控制节点发送各自的节点架构信息。例如控制节点可以接收各计算节点中的kubelet组件生成的节点架构信息;其中,节点架构信息可以为各计算节点的处理器架构对应的节点架构标签;也就是说,本实施例中可以增强计算节点中kubelet组件的能力,以利用kubelet组件去采集所在计算节点的处理器架构,生成所在计算节点的节点架构标签。
51.可以理解的是,本步骤中控制节点可以根据流水线执行指令中用户指定的流水线
执行的处理器架构信息(即处理器架构要求信息),从k8s集群中各计算节点中选择符合该处理器架构信息的计算节点(即目标计算节点)。对于本步骤中控制节点根据流水线执行指令中的处理器架构要求信息和k8s集群中各计算节点的节点架构信息,确定计算节点中的目标计算节点的具体方式,可以由设计人员自行设置,如控制节点可以根据处理器架构要求信息,确定每个流水线从节点实例各自对应的选择节点架构信息;根据选择节点架构信息和节点架构信息,确定目标计算节点;也就是说,控制节点可以先利用流水线执行指令中的处理器架构要求信息,确定已经生成或将要生成的流水线从节点实例对应的处理器架构(即选择节点架构信息),再利用选择节点架构信息与各计算节点的节点架构信息匹配,确定流水线从节点实例所要分发到的计算节点(即目标计算节点)。
52.例如,本实施例中jenkins(一种开源软件项目)可以采用master

slave模式进行部署,在用户需要执行流水线时,作为master节点的控制节点可以根据业务规模和压力进行slave节点(即流水线从节点实例)扩展;slave节点进行分发时,控制节点可以根据用户执行的此次执行的处理器架构要求(即处理器架构要求信息),为slave节点设定节点选择标签(node

selector标签,即选择节点架构信息),并将salve节点创建要求通过api(应用程序接口)的形式发送给api

server组件;api

server组件可以将具体要求发送给控制节点的kube

scheduler组件,使得控制节点可以根据slave节点的节点选择标签和各计算节点的节点架构标签(即节点架构信息)进行匹配,完成正确分发和正确执行;也就是说,控制节点可以利用kube

scheduler组件对选择节点架构信息与节点架构信息进行匹配,将选择节点架构信息匹配到的节点架构信息对应的计算节点确定为目标计算节点。
53.相应的,如图2所示,slave节点(ci

slave)分发到处理器架构匹配的计算节点(即目标计算节点)后,可以形成相应的流水线制品,可以通过将流水线制品输出到制品库,并为流水线制品设定对应的处理器架构信息,完成云原生应用的创建。
54.步骤103:将流水线从节点实例分发到目标计算节点,利用目标计算节点构建流水线从节点实例。
55.可以理解的是,本步骤中通过将流水线从节点实例分发到相应处理器架构的计算节点(即目标计算节点),从而可以在相应处理器架构的计算节点上完成流水线从节点实例的持续构建,形成流水线制品,实现制品输出和持续容器(即应用程序)部署。
56.本实施例中,本发明实施例通过将流水线从节点实例分发到目标计算节点,利用目标计算节点构建流水线从节点实例,使业务系统能够在流水线执行时,根据流水线制品的架构要求自动选择对应架构的节点进行调度,完成源码构建和流水线制品的输出,从而完成源代码跨处理器架构的同步无差异化构建,实现云原生业务在信息技术应用创新领域的快速落地,推进了处理器多元化健康发展。
57.相应于上面的方法实施例,本发明实施例还提供了一种源代码跨架构的同步构建装置,下文描述的一种源代码跨架构的同步构建装置与上文描述的一种源代码跨架构的同步构建方法可相互对应参照。
58.请参考图3,图3为本发明实施例所提供的一种源代码跨架构的同步构建装置的结构框图。该装置应用于k8s集群的控制节点,可以包括:
59.生成模块10,用于根据获取的流水线执行指令中的流水线定义信息,生成流水线执行指令对应的流水线从节点实例;
60.确定模块20,用于根据流水线执行指令中的处理器架构要求信息和k8s集群中各计算节点的节点架构信息,确定计算节点中的目标计算节点;
61.分发模块30,用于将流水线从节点实例分发到目标计算节点,利用目标计算节点构建流水线从节点实例。
62.可选的,生成模块10可以包括:
63.查找子模块,用于从数据库中查找流水线定义信息对应的源代码流水线;
64.生成子模块,用于根据源代码流水线,生成流水线从节点实例。
65.可选的,该装置还可以包括:
66.构建获取模块,用于获取流水线构建指令;其中,流水线构建指令包括业务源代码;
67.流水线构建模块,用于根据流水线构建指令中的流水线构建信息,构建业务源代码对应的源代码流水线,并将源代码流水线存储到数据库。
68.可选的,构建获取模块可以具体用于接收客户端设备通过云平台的图形化界面传输的流水线构建指令。
69.可选的,该装置还可以包括:
70.节点架构接收模块,用于接收各计算节点发送的各自的节点架构信息。
71.可选的,确定模块20可以包括:
72.实例确定子模块,用于根据处理器架构要求信息,确定每个流水线从节点实例各自对应的选择节点架构信息;
73.节点确定子模块,用于根据选择节点架构信息和节点架构信息,确定目标计算节点。
74.可选的,节点确定子模块可以具体用于利用kube

scheduler组件对选择节点架构信息与节点架构信息进行匹配,将选择节点架构信息匹配到的节点架构信息对应的计算节点确定为目标计算节点。
75.本实施例中,本发明实施例通过分发模块30将流水线从节点实例分发到目标计算节点,利用目标计算节点构建流水线从节点实例,使业务系统能够在流水线执行时,根据流水线制品的架构要求自动选择对应架构的节点进行调度,完成源码构建和流水线制品的输出,从而完成源代码跨处理器架构的同步无差异化构建,实现云原生业务在信息技术应用创新领域的快速落地,推进了处理器多元化健康发展。
76.相应于上面的方法实施例,本发明实施例还提供了一种源代码跨架构的同步构建设备,下文描述的一种源代码跨架构的同步构建设备与上文描述的一种源代码跨架构的同步构建方法可相互对应参照。
77.请参考图4,图4为本发明实施例所提供的一种源代码跨架构的同步构建设备的结构示意图。该设备可以包括:
78.存储器d1,用于存储计算机程序;
79.处理器d2,用于执行计算机程序时实现上述方法实施例所提供的源代码跨架构的同步构建方法的步骤。
80.具体的,请参考图5,图5为本发明实施例所提供的一种源代码跨架构的同步构建设备的具体结构示意图,该同步构建设备310可因配置或性能不同而产生比较大的差异,可
以包括一个或一个以上处理器(central processing units,cpu)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在同步构建设备310上执行存储介质330中的一系列指令操作。
81.同步构建设备310还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。例如,windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等。
82.其中,同步构建设备310可以具体为k8s集群的控制节点的服务器。
83.上文所描述的安全网关的源代码跨架构的同步构建方法中的步骤可以由源代码跨架构的同步构建设备的结构实现。
84.相应于上面的方法实施例,本发明实施例还提供了一种计算机可读存储介质,下文描述的一种计算机可读存储介质与上文描述的一种源代码跨架构的同步构建方法可相互对应参照。
85.一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例所提供的源代码跨架构的同步构建方法的步骤。
86.说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
87.以上对本发明所提供的一种源代码跨架构的同步构建方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1