基于作业调度的软件应用自动化发布方法技术

技术编号:31166957 阅读:22 留言:0更新日期:2021-12-04 12:12
本发明专利技术公开了一种基于作业调度的软件应用自动化发布方法,包括如下步骤:S1)按软件应用的发布场景编排设置至少一个发布节点;S2)将发布期间的每一个操作步骤设为一个原子化任务,为每个发布节点设置发布任务,所述发布任务包括至少一个原子化任务;S3)按作业调度方式执行所有发布节点中的原子化任务,完成软件应用发布。本发明专利技术提供的基于作业调度的软件应用自动化发布方法,无需人工管理,过程高效且能保证准确性。且能保证准确性。且能保证准确性。

【技术实现步骤摘要】
基于作业调度的软件应用自动化发布方法


[0001]本专利技术涉及一种软件应用发布方法,尤其涉及一种基于作业调度的软件应用自动化发布方法。

技术介绍

[0002]在软件应用发布过程中通常会涉及到多个服务的发布部署,且服务与服务间存在串行与并行的发布依赖关系,以及在服务发布部署前或发布后,需要进行与服务发布相关的额外操作以保证发布过程中不出现告警、业务不连续等现象。
[0003]目前对于应用发布,在发布前会先制定发布方案以描述本次发布涉及到的部署服务,以及发布过程中的操作步骤,并在发布时刻一般通过以下两种方式进行:
[0004]1、手工发布
[0005]发布过程中即使知道各服务的发布顺序,但不同任务间的串并行执行操作、失败异常的跳过、重新执行,下一步骤的开始执行等所有操作均通过手工人为去控制。
[0006]2、借助开源工具(如jenkins)
[0007]一般会在发布前期根据发布方案的操作内容及步骤,把一切考虑到的情况通过编码的方式提前形成可发布执行的任务,在发布阶段则按照任务中的逻辑方法进行发布。但是现有技术依赖于人工控制,效率低下,且准确性不可控。

技术实现思路

[0008]本专利技术所要解决的技术问题是提供一种基于作业调度的软件应用自动化发布方法,无需人工管理,过程高效且能保证准确性,解决大型系统的复杂发布场景。
[0009]本专利技术为解决上述技术问题而采用的技术方案是提供一种基于作业调度的软件应用自动化发布方法,包括如下步骤:S1)按软件应用的发布场景编排设置至少一个发布节点;S2)将发布期间的每一个操作步骤设为一个原子化任务,为每个发布节点设置发布任务,所述发布任务包括至少一个原子化任务;S3)按作业调度方式执行所有发布节点中的原子化任务,完成软件应用发布。
[0010]上述的基于作业调度的软件应用自动化发布方法,其中,每个原子化任务存在以下过程状态:
[0011]状态0:初始化;
[0012]状态1:执行中;
[0013]状态2:成功;
[0014]状态3:失败;
[0015]状态4:终止;
[0016]状态5:人为暂停;
[0017]状态6:待执行。
[0018]上述的基于作业调度的软件应用自动化发布方法,其中,所述步骤S3还包括在发
布前,将所有节点中的原子化任务置为“待执行”状态。
[0019]上述的基于作业调度的软件应用自动化发布方法,其中,所述步骤S3中发布开始,按如下作业调度方式执行所有发布节点中的原子化任务:
[0020]S31:发布人员点开始执行操作时,将所有节点的原子化任务置为“初始化”状态;
[0021]S32:将当前节点中的所有任务状态全部设置为“执行中”;
[0022]S33:并行执行状态为“执行中”的所有任务;
[0023]S34:循环获取状态为“执行中”的任务执行结果;
[0024]如果执行结果为成功,将原子化任务的状态置为“成功”并转到S35,否则状态置为“失败”并转到S37;
[0025]S35:实时检查当前节点中所有任务的状态是否都为“成功”;
[0026]如果都为成功状态,转到S36,否则转到S34;
[0027]S36:检查是否还存在下一发布节点;
[0028]如存在,转到S32,否则转到S38结束发布;
[0029]S37:对于失败的任务提供三种处理方式:
[0030]i、进行“重新执行”该原子化任务操作,转到S34;
[0031]ii、进行“跳过”当前原子化任务操作,并将此原子任务状态置为“成功”,表示对失败的问题已进行线下处理,并转到S35;
[0032]iii、进行“终止发布”操作,则转到S38;
[0033]S38:结束发布。
[0034]上述的基于作业调度的软件应用自动化发布方法,其中,所述软件应用的发布过程中涉及到多个服务的发布部署,且服务与服务间存在串行与并行的发布依赖关系。
[0035]本专利技术对比现有技术有如下的有益效果:本专利技术提供的基于作业调度的软件应用自动化发布方法,原子化任务的状态按作业调度方式进行管控,通过不同状态决定后续操作,无需人工管理;系统只需根据不同的状态做出不同的操作,其过程高效且准确性得到保证。
附图说明
[0036]图1为本专利技术的软件应用发布部署示意图;
[0037]图2为本专利技术基于作业调度的软件应用自动化发布流程图。
具体实施方式
[0038]下面结合附图和实施例对本专利技术作进一步的描述。
[0039]本专利技术提供的基于作业调度的软件应用自动化发布方法,包括如下步骤:
[0040]S1)按软件应用的发布场景编排设置至少一个发布节点;
[0041]S2)将发布期间的每一个操作步骤设为一个原子化任务,为每个发布节点设置发布任务,所述发布任务包括至少一个原子化任务;
[0042]S3)按作业调度方式执行所有发布节点中的原子化任务,完成软件应用发布。
[0043]在发布期间的每一个操作步骤为一个原子化任务,如何控制和保证每个原子化任务间的开始、终止、等待、等待重新执行、异常跳过,失败重新执行等准确性对应用发布过程
及其结果至关重要。本专利技术在发布前期由相应人员准备好各环节的发布任务并将其按实际情况进行编排如图1所示。
[0044]应用发布从开始到结束,根据发布执行情况的不同,本专利技术的原子化任务存在以下过程状态:
[0045]状态0:初始化;
[0046]状态1:执行中;
[0047]状态2:成功;
[0048]状态3:失败;
[0049]状态4:终止;
[0050]状态5:人为暂停;
[0051]状态6:待执行。
[0052]请继续参见图2,本专利技术发布过程中通过以下调度方法实现发布过程的管控:
[0053]发布前将所有节点中的原子化任务置为6
‑“
待执行”状态。
[0054]发布开始:
[0055]【S31】发布人员点开始执行操作时,将所有节点的原子任务置为0
‑“
初始化”状态;
[0056]【S32】将当前节点中的所有任务状态全部设置为1
‑“
执行中”;
[0057]【S33】并行执行状态为1
‑“
执行中”的所有任务;
[0058]【S34】循环获取状态为1
‑“
执行中”的任务执行结果;
[0059]如执行结果为成功,将原子任务的状态置为2
‑“
成功”并转到【S35】,否则状态置为3
‑“
失败”并转到【S37】
[0060]【S35】实时检查当前节点中所有任务的状态是否都为2
‑“
成功”;
[0061]如都为成功状态,转到【S36】,否则转本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于作业调度的软件应用自动化发布方法,其特征在于,包括如下步骤:S1)按软件应用的发布场景编排设置至少一个发布节点;S2)将发布期间的每一个操作步骤设为一个原子化任务,为每个发布节点设置发布任务,所述发布任务包括至少一个原子化任务;S3)按作业调度方式执行所有发布节点中的原子化任务,完成软件应用发布。2.如权利要求1所述的基于作业调度的软件应用自动化发布方法,其特征在于,每个原子化任务存在以下过程状态:状态0:初始化;状态1:执行中;状态2:成功;状态3:失败;状态4:终止;状态5:人为暂停;状态6:待执行。3.如权利要求2所述的基于作业调度的软件应用自动化发布方法,其特征在于,所述步骤S3还包括在发布前,将所有节点中的原子化任务置为“待执行”状态。4.如权利要求3所述的基于作业调度的软件应用自动化发布方法,其特征在于,所述步骤S3中发布开始,按如下作业调度方式执行所有发布节点中的原子化任务:S31:发布人员点开始执行操作时,将所有节点的原子化任务置为“初始化”...

【专利技术属性】
技术研发人员:程永新宋辉邱劲成
申请(专利权)人:上海新炬网络信息技术股份有限公司
类型:发明
国别省市:

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

1