System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于DevOps的应急回退方法和装置制造方法及图纸_技高网

基于DevOps的应急回退方法和装置制造方法及图纸

技术编号:40178514 阅读:4 留言:0更新日期:2024-01-26 23:45
本发明专利技术提供了一种基于DevOps的应急回退方法和装置,涉及软件开发及智能运维领域,可用于金融领域,方法包括:在DevOps平台上创建应急回退流水线用于定义应急回退部署流程;根据预设规则自动校验所述应急回退流水线;响应于所述应急回退流水线自动校验通过,获取回退应用版本清单并根据预设规则选择所述应用版本清单中的一个历史版本;启动应用回退流水线执行所述应急回退部署流程,安装所述历史版本。本发明专利技术当生产环境因突发问题不能进行环境投产时,可以在短时间内自动拉取到上一阶段稳定运行的版本,避免了无法及时保障业务交易情况的发生,克服了临场考虑不全面、准备时间不足、手工步骤繁琐等问题,保证了正常交易的顺利进行。

【技术实现步骤摘要】

本专利技术涉及软件开发及智能运维,可用于金融领域,尤其涉及一种基于devops的应急回退方法和装置。


技术介绍

1、随着金融科技领域的快速发展,业务需求更新日益加快,功能需求迭代速度加快,且应用版本量级不断增大,应用版本的投产频率持续提高。目前devops工程的持续推进使得应用版本实现了高效流转、持续交付、持续部署,支撑了业务价值快速实现。但是不断增大的版本量级带来了生产风险和运维压力,不断膨胀的应用也产生了更多的生产回退场景。

2、目前devops工程中在生产上的投产回退并没有实现全自动的回退,如果回退时事先准备不充分,则需要应用支持与开发人员、测试人员现场沟通实施。这导致了临场考虑不全面、实施较慢进而影响业务功能,并且人为操作易出错,存在风险,很容易使业务测试无法顺利进行,影响业务需求正常投入生产环境。


技术实现思路

1、有鉴于此,本专利技术提供一种基于devops的应急回退方法和装置,以解决上述提及的至少一个问题。

2、为了实现上述目的,本专利技术采用以下方案:

3、根据本专利技术的第一方面,提供一种基于devops的应急回退方法,所述方法包括:在devops平台上创建应急回退流水线用于定义应急回退部署流程;根据预设规则自动校验所述应急回退流水线;响应于所述应急回退流水线自动校验通过,获取回退应用版本清单并根据预设规则选择所述应用版本清单中的一个历史版本;启动应用回退流水线执行所述应急回退部署流程,安装所述历史版本。

4、作为本专利技术的一个实施例,上述方法中在devops平台上创建应急回退流水线用于定义应急回退部署流程包括:在devops平台新增一条第一持续部署流水线,为所述第一持续部署流水线指定应急回退流水线所使用的应急回退部署流程;将所述第一持续部署流水线关联至所要回退的第二持续部署流水线上。

5、作为本专利技术的一个实施例,上述方法中应急回退部署流程包括全量回退或部分回退,其中所述全量回退为全部服务环境、全部类型的发布单元版本都发送回退,所述全量回退的部署流程与对应投产使用的应用级部署流程的结构一致;所述部分回退为部分服务环境或任一服务环境中部分发布单元版本需要回退,保证部分回退的服务环境、服务节点包含于对应投产使用的应用级部署流程中。

6、作为本专利技术的一个实施例,上述方法中根据预设规则自动校验所述应急回退流水线包括:从数据库中获取应用级部署流程表、服务环境部署流程表和流水线任务表,其中所述应用级部署流程表包含应用级部署流程id;所述服务环境部署流程表包含服务环境级部署流程id、服务环境id和所属应用级部署流程id;所述流水线任务表包含流水线任务id、所属服务环境级部署流程id和任务变量yml配置文件;解析所述任务变量yml配置文件获取任务中的发布单元id和服务节点id;关联所述应用级部署流程id、服务环境级部署流程id、服务环境id、发布单元id和服务节点id,得到包含应用级部署流程-服务环境-服务环境级部署流程-发布单元、服务节点信息的第一层级关系;从所述第一层级关系中提取出服务环境-服务节点层级关系;基于所述服务环境-服务节点层级关系对所述应急回退流水线进行自动校验。

7、作为本专利技术的一个实施例,上述方法中基于所述服务环境-服务节点层级关系对所述应急回退流水线进行自动校验包括:判断所述应急回退部署流程的类型为全量回退还是部分回退;响应于类型为全量回退,验证所述服务环境-服务节点层级关系与投产使用的应用级部署流程是否完全一致,若一致则校验通过,若不一致则校验不通过;响应于类型为部分回退,验证所述服务环境-服务节点层级关系是否包含于应用级部署流程中,若是,则校验通过,若否,则校验不通过。

8、作为本专利技术的一个实施例,上述方法中获取回退应用版本清单并根据预设规则选择所述应用版本清单中的一个历史版本包括:从数据库中获取持续部署流水线表和版本交接表,所述持续部署流水线表包含持续部署流水线id、持续部署流水线名称、应用简称、应用系统版本号、部署流程交付节点状态、交接节点状态、审核节点状态、投产前准备节点状态和生产部署节点状态;所述版本交接表包含发布单元id、发布单元名称、应用版本编译号、持续部署流水线id、交接状态和投产状态;基于应用简称查询所述持续部署流水线表中小于当前应用系统版本号,大于三个月前应用系统版本号的全部持续部署流水线;基于查询出的全部持续部署流水线id,查询出所述版本交接表中对应的第一发布单元id;查询应急回退流水线是否包含所述第一发布单元id,若包含,则将对应的应用系统版本号作为回退应用版本清单;从所述回退应用版本清单中选出t-1日前最大投产使用的应用系统版本号的历史版本。

9、作为本专利技术的一个实施例,上述方法中启动应用回退流水线执行所述应急回退部署流程,安装所述历史版本包括:将所选历史版本镜像导入至paas环境,即版本信息导入至paas控制台,版本携带变量导入至配置中心的paas变量之中;进行版本预处理,即读取所述配置中心的paas变量值,替换版本中脚本、配置文件变量;启动应急回退部署流程,安装选定的应急回退历史版本。

10、根据本专利技术的第二方面,提供一种基于devops的应急回退装置,所述装置包括:流水线创建单元,用于在devops平台上创建应急回退流水线用于定义应急回退部署流程;自动校验单元,用于根据预设规则自动校验所述应急回退流水线;版本获取单元,用于响应于所述应急回退流水线自动校验通过,获取回退应用版本清单并根据预设规则选择所述应用版本清单中的一个历史版本;回退启动单元,用于启动应用回退流水线执行所述应急回退部署流程,安装所述历史版本。

11、作为本专利技术的一个实施例,上述流水线创建单元包括:新增模块,用于在devops平台新增一条第一持续部署流水线,为所述第一持续部署流水线指定应急回退流水线所使用的应急回退部署流程;关联模块,用于将所述第一持续部署流水线关联至所要回退的第二持续部署流水线上。

12、作为本专利技术的一个实施例,上述应急回退部署流程包括全量回退或部分回退,其中所述全量回退为全部服务环境、全部类型的发布单元版本都发送回退,所述全量回退的部署流程与对应投产使用的应用级部署流程的结构一致;所述部分回退为部分服务环境或任一服务环境中部分发布单元版本需要回退,保证部分回退的服务环境、服务节点包含于对应投产使用的应用级部署流程中。

13、作为本专利技术的一个实施例,上述自动校验单元包括:数据获取模块,用于从数据库中获取应用级部署流程表、服务环境部署流程表和流水线任务表,其中所述应用级部署流程表包含应用级部署流程id;所述服务环境部署流程表包含服务环境级部署流程id、服务环境id和所属应用级部署流程id;所述流水线任务表包含流水线任务id、所属服务环境级部署流程id和任务变量yml配置文件;解析模块,用于解析所述任务变量yml配置文件获取任务中的发布单元id和服务节点id;关联模块,用于关联所述应用级部署流程id、服务环境级部署流程id、服务环境id、本文档来自技高网...

【技术保护点】

1.一种基于DevOps的应急回退方法,其特征在于,所述方法包括:

2.如权利要求1所述的基于DevOps的应急回退方法,其特征在于,所述的在DevOps平台上创建应急回退流水线用于定义应急回退部署流程包括:

3.如权利要求2所述的基于DevOps的应急回退方法,其特征在于,所述应急回退部署流程包括全量回退或部分回退,其中所述全量回退为全部服务环境、全部类型的发布单元版本都发送回退,所述全量回退的部署流程与对应投产使用的应用级部署流程的结构一致;所述部分回退为部分服务环境或任一服务环境中部分发布单元版本需要回退,保证部分回退的服务环境、服务节点包含于对应投产使用的应用级部署流程中。

4.如权利要求1所述的基于DevOps的应急回退方法,其特征在于,所述的根据预设规则自动校验所述应急回退流水线包括:

5.如权利要求4所述的基于DevOps的应急回退方法,其特征在于,所述基于所述服务环境-服务节点层级关系对所述应急回退流水线进行自动校验包括:

6.如权利要求1所述的基于DevOps的应急回退方法,其特征在于,所述的获取回退应用版本清单并根据预设规则选择所述应用版本清单中的一个历史版本包括:

7.如权利要求1所述的基于DevOps的应急回退方法,其特征在于,所述的启动应用回退流水线执行所述应急回退部署流程,安装所述历史版本包括:

8.一种基于DevOps的应急回退装置,其特征在于,所述装置包括:

9.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。

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

...

【技术特征摘要】

1.一种基于devops的应急回退方法,其特征在于,所述方法包括:

2.如权利要求1所述的基于devops的应急回退方法,其特征在于,所述的在devops平台上创建应急回退流水线用于定义应急回退部署流程包括:

3.如权利要求2所述的基于devops的应急回退方法,其特征在于,所述应急回退部署流程包括全量回退或部分回退,其中所述全量回退为全部服务环境、全部类型的发布单元版本都发送回退,所述全量回退的部署流程与对应投产使用的应用级部署流程的结构一致;所述部分回退为部分服务环境或任一服务环境中部分发布单元版本需要回退,保证部分回退的服务环境、服务节点包含于对应投产使用的应用级部署流程中。

4.如权利要求1所述的基于devops的应急回退方法,其特征在于,所述的根据预设规则自动校验所述应急回退流水线包括:

5.如权利要求4所述的基于devops的应急回退方法,其特...

【专利技术属性】
技术研发人员:任祖华柴龙成姜峰宁伟王司宇
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1