[发明专利]基于作业调度的软件应用自动化发布方法在审
申请号: | 202111032444.X | 申请日: | 2021-09-03 |
公开(公告)号: | CN113741872A | 公开(公告)日: | 2021-12-03 |
发明(设计)人: | 程永新;宋辉;邱劲成 | 申请(专利权)人: | 上海新炬网络信息技术股份有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/60 |
代理公司: | 上海科律专利代理事务所(特殊普通合伙) 31290 | 代理人: | 袁亚军 |
地址: | 201707 上海市青浦区外青*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 作业 调度 软件 应用 自动化 发布 方法 | ||
本发明公开了一种基于作业调度的软件应用自动化发布方法,包括如下步骤:S1)按软件应用的发布场景编排设置至少一个发布节点;S2)将发布期间的每一个操作步骤设为一个原子化任务,为每个发布节点设置发布任务,所述发布任务包括至少一个原子化任务;S3)按作业调度方式执行所有发布节点中的原子化任务,完成软件应用发布。本发明提供的基于作业调度的软件应用自动化发布方法,无需人工管理,过程高效且能保证准确性。
技术领域
本发明涉及一种软件应用发布方法,尤其涉及一种基于作业调度的软件应用自动化发布方法。
背景技术
在软件应用发布过程中通常会涉及到多个服务的发布部署,且服务与服务间存在串行与并行的发布依赖关系,以及在服务发布部署前或发布后,需要进行与服务发布相关的额外操作以保证发布过程中不出现告警、业务不连续等现象。
目前对于应用发布,在发布前会先制定发布方案以描述本次发布涉及到的部署服务,以及发布过程中的操作步骤,并在发布时刻一般通过以下两种方式进行:
1、手工发布
发布过程中即使知道各服务的发布顺序,但不同任务间的串并行执行操作、失败异常的跳过、重新执行,下一步骤的开始执行等所有操作均通过手工人为去控制。
2、借助开源工具(如jenkins)
一般会在发布前期根据发布方案的操作内容及步骤,把一切考虑到的情况通过编码的方式提前形成可发布执行的任务,在发布阶段则按照任务中的逻辑方法进行发布。但是现有技术依赖于人工控制,效率低下,且准确性不可控。
发明内容
本发明所要解决的技术问题是提供一种基于作业调度的软件应用自动化发布方法,无需人工管理,过程高效且能保证准确性,解决大型系统的复杂发布场景。
本发明为解决上述技术问题而采用的技术方案是提供一种基于作业调度的软件应用自动化发布方法,包括如下步骤:S1)按软件应用的发布场景编排设置至少一个发布节点;S2)将发布期间的每一个操作步骤设为一个原子化任务,为每个发布节点设置发布任务,所述发布任务包括至少一个原子化任务;S3)按作业调度方式执行所有发布节点中的原子化任务,完成软件应用发布。
上述的基于作业调度的软件应用自动化发布方法,其中,每个原子化任务存在以下过程状态:
状态0:初始化;
状态1:执行中;
状态2:成功;
状态3:失败;
状态4:终止;
状态5:人为暂停;
状态6:待执行。
上述的基于作业调度的软件应用自动化发布方法,其中,所述步骤S3还包括在发布前,将所有节点中的原子化任务置为“待执行”状态。
上述的基于作业调度的软件应用自动化发布方法,其中,所述步骤S3中发布开始,按如下作业调度方式执行所有发布节点中的原子化任务:
S31:发布人员点开始执行操作时,将所有节点的原子化任务置为“初始化”状态;
S32:将当前节点中的所有任务状态全部设置为“执行中”;
S33:并行执行状态为“执行中”的所有任务;
S34:循环获取状态为“执行中”的任务执行结果;
如果执行结果为成功,将原子化任务的状态置为“成功”并转到S35,否则状态置为“失败”并转到S37;
S35:实时检查当前节点中所有任务的状态是否都为“成功”;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海新炬网络信息技术股份有限公司,未经上海新炬网络信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111032444.X/2.html,转载请声明来源钻瓜专利网。