代码部署、执行方法、设备及系统与流程

文档序号:34217964发布日期:2023-05-19 19:48阅读:48来源:国知局
代码部署、执行方法、设备及系统与流程

本技术涉及信息,尤其涉及一种代码部署、执行方法、设备及系统。


背景技术:

1、目前的大多数开发者在进行代码部署时一般都采用非自动化的方式,即开发者需要将待部署的代码手动上传到云厂商的代码服务器上,在代码服务器上去完成编辑修改后,才可以完成代码的部署。

2、此种方式需要开发者把自己的代码上传云厂商的代码服务器上,但是不同的开发者团队都有自己的工程化保障的基础设施,这样一来会使得代码的部署与原来的基础设施保障产生脱节,给代码开发的过程带来不便。并且,由于此种方式需要开发者进行代码上传这一操作,该操作是出于云厂商对于代码发布流程的要求,但是对于开发者来说是一个冗余的步骤,并不能提高开发的效率,因此会给开发者实际操作带来不便,降低代码的开发效率。


技术实现思路

1、本技术的一个目的是提供一种代码部署、执行方法、设备及系统,至少用以解决目前的代码部署方式会给代码开发者带来不便,降低代码开发效率的问题。

2、为实现上述目的,本技术的一些实施例提供了一种代码部署方法,其所述方法应用于云计算平台,所述云计算平台包括至少一个第一计算节点,所述方法包括:

3、第一计算节点获取部署触发事件,所述部署触发事件是由代码仓库在检测到来自开发者的代码提交事件时触发所述代码仓库中配置的钩子程序向指定网址所发送,所述指定网址对应所述第一计算节点;

4、所述第一计算节点根据所述部署触发事件从所述代码仓库中接收所述代码提交事件对应的目标代码;

5、所述第一计算节点将所述目标代码构建成云函数制品。

6、本技术的一些实施例提供了一种代码部署方法,所述方法应用于代码仓库,所述代码仓库中配置有钩子程序,所述钩子程序用于在触发时向所述指定网址发送部署触发事件,所述指定网址对应云计算平台的第一计算节点,所述方法包括:

7、代码仓库在检测到来自开发者的代码提交事件时,触发所述钩子程序,由所述钩子程序向指定网址发送部署触发事件,以使所述第一计算节点基于所述指定网址获取所述部署触发事件,根据所述部署触发事件从所述代码仓库中接收所述代码提交事件对应的目标代码。

8、本技术的一些实施例提供了另一种代码部署方法,所述方法应用于代码仓库,所述方法包括:

9、所述代码仓库获取由开发者配置的指定网址,所述指定网址对应云计算平台的第一计算节点;

10、所述代码仓库根据所述指定网址创建对应所述指定网址的钩子程序,所述钩子程序由所述代码仓库检测到来自开发者的代码提交事件时触发,用于向所述指定网址发送部署触发事件,以使所述第一计算节点基于所述指定网址获取所述部署触发事件,根据所述部署触发事件从所述代码仓库中接收所述代码提交事件对应的目标代码。

11、本技术的一些实施例提供了一种代码执行方法,所述方法应用于云计算平台,所述云计算平台包括至少一个第一计算节点,所述方法包括:

12、第一计算节点获取部署触发事件,所述部署触发事件是由代码仓库在检测到来自开发者的代码提交事件时触发所述代码仓库中配置的钩子程序向指定网址所发送,所述指定网址对应所述第一计算节点;

13、所述第一计算节点根据所述部署触发事件从所述代码仓库中接收所述代码提交事件对应的目标代码;

14、所述第一计算节点将所述目标代码构建成云函数制品;

15、所述第一计算节点接收用户请求,根据所述用户请求运行相应的云函数制品,以响应所述用户请求。

16、本技术的一些实施例提供了一种实现代码部署的云计算平台,所述云计算平台包括至少一个第一计算节点,所述第一计算节点包括:

17、收发模块,用于获取部署触发事件,以及根据所述部署触发事件从所述代码仓库中接收所述代码提交事件对应的目标代码,所述部署触发事件是由代码仓库在检测到来自开发者的代码提交事件时触发所述代码仓库中配置的钩子程序向指定网址所发送,所述指定网址对应所述第一计算节点;

18、构建模块,用于将所述目标代码构建成云函数制品。

19、本技术的一些实施例提供了一种实现代码部署的代码仓库,所述代码仓库中配置有钩子程序,所述钩子程序用于在触发时向所述指定网址发送部署触发事件,所述指定网址对应云计算平台的第一计算节点,所述代码仓库包括:

20、接收模块,用于接收来开发者的代码提交事件;

21、检测触发模块,用于在检测到来自开发者的代码提交事件时,触发所述钩子程序;

22、发送模块,用于在触发钩子程序时,由所述钩子程序向指定网址发送部署触发事件,以使所述第一计算节点基于所述指定网址获取所述部署触发事件,根据所述部署触发事件从所述代码仓库中接收所述代码提交事件对应的目标代码。

23、本技术的一些实施例提供了另一种实现代码部署的代码仓库,其特征在于,所述代码仓库包括:

24、接收模块,用于获取由开发者配置的指定网址,所述指定网址对应云计算平台的第一计算节点;

25、配置模块,用于根据所述指定网址创建对应所述指定网址的钩子程序,所述钩子程序由所述代码仓库检测到来自开发者的代码提交事件时触发,用于向所述指定网址发送部署触发事件,以使所述第一计算节点基于所述指定网址获取所述部署触发事件,根据所述部署触发事件从所述代码仓库中接收所述代码提交事件对应的目标代码。

26、本技术的一些实施例提供了一种实现代码执行的云计算平台,所述云计算平台包括至少一个第一计算节点,所述第一计算节点包括:

27、收发模块,用于获取部署触发事件,根据所述部署触发事件从所述代码仓库中接收所述代码提交事件对应的目标代码,以及接收用户请求,所述部署触发事件是由代码仓库在检测到来自开发者的代码提交事件时触发所述代码仓库中配置的钩子程序向指定网址所发送,所述指定网址对应所述第一计算节点;

28、构建模块,用于将所述目标代码构建成云函数制品;

29、执行模块,用于根据所述用户请求运行相应的云函数制品,以响应所述用户请求。

30、本技术的一些实施例提供了一种实现代码部署或执行的设备,该设备包括用于存储计算机可读指令的存储器和用于执行计算机可读指令的处理器,其中,当该计算机可读指令被该处理器执行时,触发所述设备执行前述的代码部署方法或代码执行方法。

31、本技术的一些实施例提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述的代码部署方法或代码执行方法。

32、本技术的一些实施例提供了一种代码部署或执行系统,所述系统至少包括代码仓库和云计算平台,所述代码仓库中配置有钩子程序,所述钩子程序用于在触发时向所述指定网址发送部署触发事件,所述云计算平台包括至少一个第一计算节点,所述指定网址对应云计算平台的第一计算节点,所述代码仓库用于执行前述的代码部署方法,所述云计算平台的第一计算节点用于执行前述的代码部署或代码执行方法。

33、相较于现有技术,本技术实施例提供的代码部署方案中,可以在代码仓库中预先配置钩子程序,当开发者向代码仓库提交代码时,代码仓库可以检测到来自开发者的代码提交事件,从而触发所述钩子程序,由所述钩子程序向指定网址发送部署触发事件。由于指定网址对应于云计算平台中的第一计算节点,因此部署触发事件可以到达云计算平台中的第一计算节点,而第一计算节点在获取到部署触发事件后,可以根据所述部署触发事件从所述代码仓库中接收所述代码提交事件对应的目标代码,并将所述目标代码构建成云函数制品从而完成代码在第一计算节点的部署。由于该代码的传输是由钩子程序触发,无需开发者手动向计算节点上传代码,因此部署过程中没有代码上传这一冗余操作,且开发者只需要将代码提交到代码仓库,并未与其代码开发的基础设施脱节,因此该方案可以为代码开发者带来便利,提高代码开发的效率。

34、在此基础上,可以采用任播技术或智能dns技术,将发往指定网址的部署触发事件调度至所述云计算平台中最优的计算节点,由此提升代码的部署效率及质量。

35、第一计算节点构建的云函数制品采用了清单文件、配置信息结合层文件,其中所述清单文件用于对层文件的内容进行寻址,所述配置信息包括云函数制品在运行时所需的相关配置,所述层文件包括云函数制品所在运行时所需的实体内容,因此通过文件清单和配置信息可以让不同的操作系统加载不同的层文件,实现同一云函数制品兼容多种操作系统,提升云函数制品的兼容性。

36、当云函数制品的内容发生更新时,第一计算节点可以将云函数制品中发生更新的层文件分发至所述云计算平台中的其它计算节点,以替换其它计算节点中未更新的对应层文件,从而针对有变更的层文件进行更新,实现云函数制品的增量更新,提升代码部署时的效率。

37、此外,本技术实施例还提供了一种代码执行方案,在采用前述的代码部署方案完成代码部署后,云计算平台的第一计算节点和部署了相同代码的其他计算节点可以接收用户请求,根据所述用户请求运行相应的云函数制品,以响应所述用户请求。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1