应用软件蓝绿发布的决策方法、设备、存储介质和产品与流程

摘要: 本申请涉及软件开发,尤其涉及一种应用软件蓝绿发布的决策方法、设备、存储介质和产品。背景技术:1、软件开发与运维实践中,持续集成/持续交付(ci/cd)已成为保障...
应用软件蓝绿发布的决策方法、设备、存储介质和产品与流程

本申请涉及软件开发,尤其涉及一种应用软件蓝绿发布的决策方法、设备、存储介质和产品。

背景技术:

1、软件开发与运维实践中,持续集成/持续交付(ci/cd)已成为保障软件快速迭代与稳定发布的核心流程。在ci/cd环境中,蓝绿发布作为一种零停机的部署策略,通过维护两个相同的生产环境(蓝色为当前运行的旧版本、绿色为待上线的新版本),在不影响现有用户的情况下发布新版本,实现新版本的平滑切换和旧版本的迅速回滚,广泛应用于对服务可用性要求较高的场景。

2、随着各大云计算用户对云服务的稳定性及可靠性要求越来越高,更好地实现蓝绿发布变得尤为重要。然而,并非所有软件需求都适合采用蓝绿发布策略,传统方法依赖人工经验判断,亟需一种新的方法来解决蓝绿发布评估问题。

技术实现思路

1、有鉴于此,本申请实施例提供了一种应用软件蓝绿发布的决策方法、设备、存储介质和产品,旨在提升应用软件蓝绿发布的成功率和效率。

2、本申请实施例的技术方案实现如下:

3、第一方面,本申请实施例提供了一种应用软件蓝绿发布的决策方法,包括:

4、基于应用软件的发布版本的第一jira(项目与事务跟踪工具)标识获取关联的各类需求的第二jira标识;

5、基于所述发布版本对应的持续集成/持续交付(ci/cd)流水线上已部署的服务工程以及基于各所述第二jira标识提取的需求与服务工程之间的关联关系,建立需求与已部署的服务工程之间的关联关系;

6、基于第一jira标识、所述第二jira标识以及所述需求与已部署的服务工程之间的关联关系,构建图模型;

7、基于所述图模型中各服务工程的属性配置信息和历史蓝绿发布信息,生成各服务工程的初始发布策略;

8、基于所述图模型中各服务工程的初始发布策略确定所述应用软件蓝绿发布过程中的阻断点,并基于所述阻断点更新所述图模型中需求的实际发布策略。

9、上述方案中,所述基于第一jira标识、所述第二jira标识以及所述需求与已部署的服务工程之间的关联关系,构建图模型,包括:

10、基于所述第一jira标识创建指示所述发布版本的第一节点;

11、基于与所述第一jira标识关联的各所述第二jira标识,创建与所述第一节点关联的指示所述需求的第二节点;

12、基于所述需求与已部署的服务工程之间的关联关系,创建与所述第二节点关联的指示所述服务工程的第三节点;

13、基于各服务工程之间是否依赖的关联信息,建立所述第三节点之间的关联关系。

14、上述方案中,所述基于所述图模型中各服务工程的属性配置信息和历史蓝绿发布信息,生成各服务工程的初始发布策略,包括:

15、基于所述图模型中各服务工程的属性配置信息,确定各服务工程的当前蓝绿发布的第一分数值;

16、基于各服务工程的历史蓝绿发布信息,确定各服务工程的历史蓝绿发布的第二分数值;

17、基于各服务工程的所述第一分数值和所述第二分数值以及设定权重值,生成各服务工程的第三分数值;

18、基于各服务工程的所述第三分数值与设定阈值的比较结果,生成各服务工程的初始发布策略。

19、上述方案中,所述阻断点为所述图模型中所述初始分布策略为不支持蓝绿发布的服务工程对应的第三节点,所述基于所述阻断点更新所述图模型中关联的需求的实际发布策略,包括:

20、获取所述图模型中与所述阻断点存在关联的目标第二节点,将所述目标第二节点对应的需求的实际发布策略确定为不支持蓝绿发布的发布策略,并将与所述目标第二节点关联的各第三节点对应的服务工程的实际发布策略均确定为不支持蓝绿发布的发布策略;直至所有与不支持蓝绿发布的服务工程存在关联的需求实际发布策略均被更新为不支持蓝绿发布的发布策略。

21、上述方案中,所述基于所述阻断点更新所述图模型中关联的需求的实际发布策略之前,所述方法还包括:

22、对所述图模型进行可视化显示;其中,所述阻断点以区别于其他第三节点的显示方式显示;

23、对所述图模型中的所述阻断点进行人工复核。

24、上述方案中,所述方法还包括以下中的一种或者多种:

25、基于所述持续集成/持续交付流水线上新部署的服务工程,更新所述图模型,并基于所述新部署的服务工程的属性配置信息,更新与所述新部署的服务工程关联的需求的实际发布策略;

26、基于所述持续集成/持续交付流水线上已部署的目标服务工程被更新,更新所述目标服务工程的初始发布策略,并更新与所述目标服务工程关联的需求的实际发布策略。

27、上述方案中,所述方法还包括:

28、基于所述图模型中各需求的实际发布策略,生成服务工程的发布顺序和实际发布策略的工程清单信息。

29、第二方面,本申请实施例提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行计算机程序时,执行本申请实施例第一方面所述方法的步骤。

30、第三方面,本申请实施例提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现本申请实施例第一方面所述方法的步骤。

31、第四方面,本申请实施例提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时,实现本申请实施例第一方面所述方法的步骤。

32、本申请实施例提供的技术方案,基于应用软件的发布版本的第一jira标识获取关联的各类需求的第二jira标识;基于发布版本对应的ci/cd流水线上已部署的服务工程以及基于各第二jira标识提取的需求与服务工程之间的关联关系,建立需求与已部署的服务工程之间的关联关系;基于第一jira标识、第二jira标识以及需求与已部署的服务工程之间的关联关系,构建图模型;基于图模型中各服务工程的属性配置信息和历史蓝绿发布信息,生成各服务工程的初始发布策略;基于图模型中各服务工程的初始发布策略确定应用软件蓝绿发布过程中的阻断点,并基于阻断点更新图模型中需求的实际发布策略。如此,可以自动识别应用软件蓝绿发布过程中的阻断点,并基于阻断点更新图模型中需求的实际发布策略,进而可以实现对蓝绿发布过程中不满足蓝绿发布的需求进行智能识别,显著提升应用软件蓝绿发布的成功率和效率。

1.一种应用软件蓝绿发布的决策方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述基于第一jira标识、所述第二jira标识以及所述需求与已部署的服务工程之间的关联关系,构建图模型,包括:

3.根据权利要求1所述的方法,其特征在于,所述基于所述图模型中各服务工程的属性配置信息和历史蓝绿发布信息,生成各服务工程的初始发布策略,包括:

4.根据权利要求2所述的方法,其特征在于,所述阻断点为所述图模型中所述初始分布策略为不支持蓝绿发布的服务工程对应的第三节点,所述基于所述阻断点更新所述图模型中关联的需求的实际发布策略,包括:

5.根据权利要求4所述的方法,其特征在于,所述基于所述阻断点更新所述图模型中关联的需求的实际发布策略之前,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,所述方法还包括以下中的一种或者多种:

7.根据权利要求1所述的方法,其特征在于,所述方法还包括:

8.一种电子设备,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,

9.一种计算机存储介质,所述计算机存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至7任一项所述方法的步骤。

10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序在被处理器执行时,实现权利要求1至7任一项所述方法的步骤。