CN111338644A - 任务脚本部署方法及系统 - Google Patents
任务脚本部署方法及系统 Download PDFInfo
- Publication number
- CN111338644A CN111338644A CN202010128158.2A CN202010128158A CN111338644A CN 111338644 A CN111338644 A CN 111338644A CN 202010128158 A CN202010128158 A CN 202010128158A CN 111338644 A CN111338644 A CN 111338644A
- Authority
- CN
- China
- Prior art keywords
- task script
- deployment
- script
- data
- task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Abstract
本发明实施例提供一种任务脚本部署方法,包括:从版本管理工具中获取任务脚本;当所述任务脚本包含变更信息时,获取变更信息;当所述版本管理工具包含部署说明文档时,获取部署说明文档;解析所述部署说明文档,以获取部署说明数据,所述部署说明数据包括待部署任务脚本数据与部署内容数据;当所述待部署任务脚本数据符合预设的任务脚本检测规则时,根据所述待部署任务脚本数据、部署内容数据以及所述变更信息对相应的任务脚本执行部署。本发明实施例提供任务脚本部署系统。本发明实施例无需人工参与,能够执行自动化部署,提高效率,有效地缩短了耗时。
Description
技术领域
本发明实施例涉及大数据技术领域,尤其涉及一种任务脚本部署方法及系统。
背景技术
开发人员在项目开发时,一般会预先编写好大量的任务脚本以及一些配置文件,并将这些任务脚本以及配置文件上传到服务器中去运行。随着计算机技术的快速发展,为了满足使用者的需求,需要开发人员不断给服务器中的任务脚本进行新的部署。
当前市面上常用的任务脚本部署工具有Jenkins(持续集成工具,用于自动化部署),但是运行Jenkins之前,还需要安装启动新的插件才能使Jenkins正常运行。Jenkins属于手动触发式的部署方式,即需要相关的工作人员将预先编写好的大量的任务脚本以及一些配置文件上传到每一个服务器中,并分别对每一个服务器人工执行部署。
当前,利用Jenkins以及人工操作对大量的任务脚本数据进行部署,耗时长、效率较低。
发明内容
有鉴于此,本发明实施例提供了一种任务脚本部署方法、系统、计算机设备及计算机可读存储介质,用于解决利用Jenkins以及人工操作对大量的任务脚本数据进行部署的方法,耗时长、效率较低的问题。
本发明实施例是通过下述技术方案来解决上述技术问题:
一种任务脚本部署方法,包括:
从版本管理工具中获取任务脚本;
当所述任务脚本包含变更信息时,获取变更信息;
当所述版本管理工具包含部署说明文档时,获取部署说明文档;
解析所述部署说明文档,以获取部署说明数据,所述部署说明数据包括待部署任务脚本数据与部署内容数据;
当所述待部署任务脚本数据符合预设的任务脚本检测规则时,根据所述待部署任务脚本数据、部署内容数据以及所述变更信息对相应的任务脚本执行部署。
进一步地,所述从版本管理工具中获取任务脚本后包括:
根据时序读取所述版本管理工具中的目标版本记录和上一版本记录;
从所述目标版本记录中获取第一任务脚本,以及从所述上一版本记录中获取与第一任务脚本相应的第二任务脚本,对应的,所述任务脚本为第一任务脚本;
将所述第一任务脚本与相应的第二任务脚本进行匹配,以判断所述任务脚本是否包含变更信息:如果所述第一任务脚本与第二任务脚本匹配一致,则所述任务脚本不包含变更信息,如果所述第一任务脚本与第二任务脚本匹配不一致,则所述任务脚本包含变更信息。
进一步地,所述当所述任务脚本包含变更信息时,获取变更信息后包括:
遍历所述版本管理工具并读取所述版本管理工具中的指定目录;
判断所述指定目录中是否包含内容文档:如果所述指定目录包含内容文档,则所述版本管理工具包含部署说明文档,且所述内容文档为部署说明文档,如果所述指定目录不包含内容文档,则所述版本管理工具不包含部署说明文档。
进一步地,所述预设的任务脚本检测规则包含任务脚本类型规则以及任务脚本内容规范规则;
所述解析所述部署说明文档,以获取部署说明数据,所述部署说明数据包括待部署任务脚本数据与部署内容数据后,还包括:
根据所述任务脚本类型规则获取所述待部署任务脚本的脚本类型;
根据所述待部署任务脚本的脚本类型获取相应的任务脚本内容规范规则;
将所述任务脚本内容规范规则与所述待部署任务脚本进行匹配验证,以判断所述待部署任务脚本数据是否符合所述任务脚本检测规则:如果所述待部署任务脚本数据与相应的任务脚本内容规范规则匹配一致,则所述待部署任务脚本数据符合内容规范规则,如果所述待部署任务脚本数据与相应的任务脚本内容规范规则匹配不一致,则所述待部署任务脚本不符合内容规范规则。
进一步地,所述根据所述待部署任务脚本数据、部署内容数据以及所述变更信息对相应的任务脚本执行部署之前,还包括:
对所述任务脚本进行复制以生成任务脚本副本。
进一步地,所述方法还包括:
当所述待部署任务脚本不符合任务脚本内容规范规则时,生成相应的报错数据;
基于所述报错数据生成部署情况表单,并将所述部署情况表单反馈至开发用户端。
进一步地,所述方法还包括:
预设从版本管理工具中获取任务脚本指令的触发时间;
在满足所述触发时间时,从所述版本管理工具中获取任务脚本。
为了实现上述目的,本发明实施例还提供一种任务脚本部署系统,包括:第一获取模块,用于从版本管理工具中获取任务脚本;
第二获取模块,用于当所述任务脚本包含变更信息时,获取变更信息;
第三获取模块,用于当所述版本管理工具包含部署说明文档时,获取部署说明文档;
解析模块,用于解析所述部署说明文档,以获取部署说明数据,所述部署说明数据包括待部署任务脚本与部署内容数据;
执行模块,用于当所述待部署任务脚本数据符合预设的任务脚本检测规则时,根据所述待部署任务脚本数据、部署内容数据以及所述变更信息对相应的任务脚本执行部署。
为了实现上述目的,本发明实施例还提供一种计算机设备,所述计算机设备包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述任务脚本部署方法的步骤。
为了实现上述目的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的任务脚本部署方法的步骤。
本发明实施例提供的任务脚本部署方法、系统、计算机设备及计算机可读存储介质,通过检测到任务脚本中的变更信息,以及检测到版本管理工具中的部署说明文档,并对部署说明文档进行解析以得到部署说明数据,当所述待部署任务脚本数据符合预设的任务脚本检测规则时,根据部署说明数据对相应的任务脚本执行自动部署,无需人工参与,执行自动化部署,提高效率,有效地缩短了耗时。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为本发明实施例一之任务脚本部署方法的步骤流程图;
图2为本发明实施例一之任务脚本部署方法的获取任务脚本的流程示意图;
图3为本发明实施例一之任务脚本部署方法的判断任务脚本是否包含变更信息的流程示意图;
图4为本发明实施例一之任务脚本部署方法的判断版本管理工具是否包含部署说明文档的流程示意图;
图5为本发明实施例一之任务脚本部署方法的判断待部署任务脚本数据是否符合所述任务脚本检测规则的流程示意图;
图6为本发明实施例二之任务脚本部署系统的程序模块示意图;
图7为本发明实施例三之计算机设备的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
实施例一
请参阅图1,示出了本发明实施例之任务脚本部署方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备为执行主体进行示例性描述,具体如下:
请参阅图1,所述任务脚本部署方法具体包括:
步骤S100,从版本管理工具中获取任务脚本。
在示例性的实施例中,所述任务脚本部署方法在spring boot框架(任务脚本的开发环境)下执行,其中,spring boot框架包含若干编译完成且可运行的jar程序包。
具体的,所述版本管理工具包括但不限于SVN、GIT。所述任务脚本包括但不限于sql脚本、shell脚本。
示例性的,在从版本管理工具中获取任务脚本之前,还需要调整第一参数,以使开发人员选择存放任务脚本的版本管理工具。其中,第一参数的配置为选择版本工具类型。第一参数的配置可通过外部传入第一参数的方式进行配置。所述spring boot框架包含deploy.jar包(部署程序包),所述第一参数的配置,可以通过Linux shell脚本调用deploy.jar包来对第一参数进行配置。
在示例性的实施例中,请参阅图2,所述方法还可以进一步包括:
步骤S101,预设从版本管理工具中获取任务脚本指令的触发时间;
步骤S102,在满足所述触发时间时,从所述版本管理工具中获取任务脚本。
举例而言,从版本管理工具中获取任务脚本指令的触发时间通过配置第二参数来预设,第二参数用于指定读取版本管理工具中的任务脚本的频率,可以理解为多长时间对所述版本管理工具中的任务脚本进行检测。其中,所述第二参数的配置为设置检测所述版本管理工具中的任务脚本的时间频率。第二参数的配置可以通过外部传入第二参数的方式进行配置。且所述第二参数的配置可以由相应的开发用户端根据实际需求进行预设,也可以基于计算机设备的性能参数自动生成,本方案在此不做限制。
步骤S200,当所述任务脚本包含变更信息时,获取变更信息。
具体的,所述变更信息包括上传的脚本是否为新脚本、是否对原脚本进行更新等。
在示例性的实施例中,所述从版本管理工具中获取任务脚本后,还需要判断所述任务脚本是否包含变更信息,请查阅图3,具体如下:
步骤S201,根据时序读取所述版本管理工具中的目标版本记录和上一版本记录;
步骤S202,从所述目标版本记录中获取第一任务脚本,以及从所述上一版本记录中获取与第一任务脚本相应的第二任务脚本,对应的,所述任务脚本为第一任务脚本;
步骤S203,将所述第一任务脚本与相应的第二任务脚本进行匹配,以判断所述任务脚本是否包含变更信息:如果第一任务脚本与第二任务脚本匹配一致,则所述任务脚本不包含变更信息,如果所述第一任务脚本与第二任务脚本匹配不一致,则所述任务脚本包含变更信息。
具体的,当任务脚本包含变更信息时,则进入步骤S300;当任务脚本不包含变更信息时,则继续自动循环运行相应的版本管理工具上的任务脚本,并生成第一检测报告反馈至开发用户端。
步骤S300,当所述版本管理工具包含部署说明文档时,获取部署说明文档。
在示例性的实施例中,所述当所述任务脚本包含变更信息时,获取变更信息后,还需要判断所述版本管理工具是否包含部署说明文档,请查阅图4,具体如下:
步骤S301,遍历所述版本管理工具并读取所述版本管理工具中的指定目录;
步骤S302,判断所述指定目录中是否包含内容文档:如果所述指定目录包含内容文档,则所述版本管理工具包含部署说明文档,且所述内容文档为部署说明文档,如果所述指定目录不包含内容文档,则所述版本管理工具不包含部署说明文档。
其中,部署说明文档由相关的开发用户端提交至相应的版本管理工具中的指定目录。
示例性的,当所述版本管理工具不包含部署说明文档时,生成第二检测报告反馈至开发用户端。
步骤S400,解析所述部署说明文档,以获取部署说明数据,所述部署说明数据包括待部署任务脚本数据与部署内容数据。
其中,所述部署说明文档按照预先设置的部署说明模板进行填写。所述部署内容数据包括但不限于:部署的服务器ip、任务脚本的部署路径、部署任务脚本的顺序、脚本开发人员等。
具体的,由于所述部署说明文档是按照预先设置的部署说明模板进行填写的,所述部署说明模板按照一定的固定版式进行设置的,因此解析所述部署说明文档,即解析所述部署说明文档的固定版式,获取多个字段名以及多个与字段名对应的字段数据。所述多个字段数据即为部署内容数据。
步骤S500,当所述待部署任务脚本数据符合预设的任务脚本检测规则时,根据所述待部署任务脚本数据、部署内容数据以及所述变更信息对相应的任务脚本执行部署。
在示例性的实施例中,当所述待部署任务脚本数据符合预设的任务脚本检测规则时,对任务脚本进行复制以生成任务脚本副本;对相应的任务脚本执行部署。即根据部署任务脚本的顺序依次获取待部署的任务脚本以及待部署的某台服务器ip,将待部署的任务脚本根据相应的任务和脚本部署路径部署到相应的服务器中,即对所述待部署的任务脚本根据所述部署内容数据进行读取、更新、移动、删除等操作。
其中,任务脚本副本作为备份,以便出现异常时,开发人员及时回滚或者直接追溯到待部署脚本副本。
在示例性的实施例中,所述预设的任务脚本检测规则包含任务脚本类型规则以及任务脚本内容规范规则。其中,所述任务脚本内容规范规则包括但不限于:shell脚本中不允许存在rm指令,sql脚本中delete语句后面必须带有where条件、建表字段命名不允许用关键字等等规范。
所述任务脚本内容规范规则以正则表达式的方式存储于脚本检测规则表中。其中,正则表达式是对字符串和特殊字符操作的一种逻辑公式,就是用事先定义好的一些特定字符及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。
在示例性的实施例中,所述解析所述部署说明文档,以获取部署说明数据,所述部署说明数据包括待部署任务脚本数据与部署内容数据后,还需要判断所述待部署任务脚本数据是否符合所述任务脚本检测规则,请查阅图5,具体如下:
步骤S501,根据所述任务脚本类型规则获取所述待部署任务脚本的脚本类型;
步骤S502,根据所述待部署任务脚本的脚本类型获取相应的任务脚本内容规范规则;
步骤S503,将所述任务脚本内容规范规则与所述待部署任务脚本进行匹配验证,以判断所述待部署任务脚本数据是否符合所述任务脚本检测规则:如果所述待部署任务脚本数据与相应的任务脚本内容规范规则匹配一致,则所述待部署任务脚本数据符合内容规范规则,如果所述待部署任务脚本数据与相应的任务脚本内容规范规则匹配不一致,则所述待部署任务脚本不符合内容规范规则。
举例而言,根据所述任务脚本类型规则获取所述待部署任务脚本数据的脚本类型后,将所述待部署任务脚本数据与相应的正则表达式进行匹配验证,如果所述待部署脚本与相应的正则表达式匹配一致,则所述待部署脚本没有触发所述脚本内容规范规则,即所述待部署脚本符合任务脚本内容规范规则。
如果所述待部署任务脚本数据与相应的正则表达式匹配不一致,则所述待部署任务脚本数据触发任务脚本内容规范规则,即所述待部署任务脚本数据不符合任务脚本内容规范规则。
在示例性的实施例中,所述方法还包括:当所述待部署任务脚本不符合任务脚本内容规范规则时,生成相应的报错数据;将于所述报错数据填生成部署情况表单,并将所述部署情况表单反馈至开发用户端。
当待部署的任务脚本根据部署内容数据进行部署的过程中出现异常时,生成相应的报错数据;将所述报错数据填写入部署情况表单中,并将所述部署情况表单反馈至开发用户端。
当所述待部署任务脚本不符合内容规范规则,且待部署的任务脚本根据部署内容数据部署完成后,生成部署完成结论数据,并将所述部署完成结论数据填写入部署情况表单中,并将所述部署情况表单反馈至目开发用户端。
其中,部署情况表单包括但不限于以邮件、短信的形式反馈至开发用户端。
在本发明实施例中,当待部署的任务脚本根据所述部署说明文档部署完成后,将所述部署说明文档移动至任务脚本副本中进行存储,以便开发人员进行查阅。
在示例性的实施例中,相关的开发人员还可以手动启动任务脚本的自动化部署。
本发明实施例中,在任务脚本的部署过程中,无需开发人员进行人工手动部署,通过多个逻辑判断,自动进行任务脚本的部署,提高了任务脚本部署的效率,有效地缩短了耗时。通过备份任务脚本以便出现异常时开发人员及时回滚或者直接追溯到相应的任务脚本副本并执行纠错。通过部署情况表单的反馈,以便开发人员能够及时知晓任务脚本部署的情况。
实施例二
请继续参阅图6,示出了本发明任务脚本部署系统的程序模块示意图。在本实施例中,任务脚本部署系统20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述任务脚本部署方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述任务脚本部署系统20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
第一获取模块600,用于从版本管理工具中获取任务脚本。
在示例性的实施例中,所述方法还包括:预设检测任务脚本指令的触发时间;在满足所述触发时间时,从所述版本管理工具中获取任务脚本。
第二获取模块610,用于当所述任务脚本包含变更信息时,获取变更信息。
在示例性的实施例中,所述从版本管理工具中获取任务脚本后,还需要判断所述任务脚本是否包含变更信息,具体包括:根据时序读取所述版本管理工具中的目标版本记录和上一版本记录;从所述目标版本记录中获取第一任务脚本,以及从所述上一版本记录中获取与第一任务脚本相应的第二任务脚本;将所述第一任务脚本与相应的第二任务脚本进行匹配,以判断所述任务脚本是否包含变更信息:如果第一任务脚本与第二任务脚本匹配一致,则所述任务脚本不包含变更信息,如果所述第一任务脚本与第二任务脚本匹配不一致,则所述任务脚本包含变更信息。
第三获取模块620,用于当所述版本管理工具包含部署说明文档时,获取部署说明文档。
在示例性的实施例中,所述当所述任务脚本包含变更信息时,获取变更信息后,还需要判断所述版本管理工具是否包含部署说明文档,具体包括:遍历所述版本管理工具并读取所述版本管理工具中的指定目录;判断所述指定目录中是否包含内容文档:如果所述指定目录包含内容文档,则所述版本管理工具包含部署说明文档,且所述内容文档为部署说明文档,如果所述指定目录不包含内容文档,则所述版本管理工具不包含部署说明文档。
解析模块630,用于解析所述部署说明文档,以获取部署说明数据,所述部署说明数据包括待部署任务脚本与部署内容数据;
执行模块640,用于当所述待部署任务脚本数据符合预设的任务脚本检测规则时,根据所述待部署任务脚本数据、部署内容数据以及所述变更信息对相应的任务脚本执行部署。
在示例性的实施例中,所述预设的任务脚本检测规则包含任务脚本类型规则以及任务脚本内容规范规则。所述解析所述部署说明文档,以获取部署说明数据,所述部署说明数据包括待部署任务脚本数据与部署内容数据后,还需要判断所述待部署任务脚本数据是否符合所述任务脚本检测规则,具体包括:根据所述任务脚本类型规则获取所述待部署任务脚本的脚本类型;根据所述待部署任务脚本的脚本类型获取相应的任务脚本内容规范规则;将所述任务脚本内容规范规则与所述待部署任务脚本进行匹配验证,以判断所述待部署任务脚本数据是否符合所述任务脚本检测规则:如果所述待部署任务脚本数据与相应的任务脚本内容规范规则匹配一致,则所述待部署任务脚本数据符合内容规范规则,如果所述待部署任务脚本数据与相应的任务脚本内容规范规则匹配不一致,则所述待部署任务脚本不符合内容规范规则。
在示例性的实施例中,所述根据所述部署内容数据以及所述变更信息对所述待部署任务脚本执行部署之前,还包括:对所述待部署任务脚本进行复制以生成待部署任务脚本副本。
在示例性的实施例中,所述方法还包括:当所述待部署任务脚本不符合相应的任务脚本内容规范规则时,生成相应的报错数据;将所述报错数据填写入部署情况表单中,并将所述部署情况表单反馈至开发用户端。
实施例三
参阅图7,是本发明实施例三之计算机设备的硬件架构示意图。本实施例中,所述计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。该计算机设备2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图7所示,所述计算机设备2至少包括,但不限于,可通过系统总线相互通信连接存储器21、处理器22、网络接口23、以及任务脚本部署系统20。其中:
本实施例中,存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如实施例二的任务脚本部署系统20的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备2的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行任务脚本部署系统20,以实现上述实施例所述的任务脚本部署方法。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述计算机设备2与其他电子装置之间建立通信连接。例如,所述网络接口23用于通过网络将所述计算机设备2与外部终端相连,在所述计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(WidebandCode Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图7仅示出了具有部件20-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器21中的所述任务脚本部署系统20还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。
例如,图6示出了所述实现任务脚本部署系统20实施例二的程序模块示意图,该实施例中,所述基于任务脚本部署系统20可以被划分为第一获取模块600、第二获取模块610、第三获取模块620、解析模块630以及执行模块640。其中,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述任务脚本部署系统20在所述计算机设备2中的执行过程。所述程序模块600-640的具体功能在上述实施例中已有详细描述,在此不再赘述。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储任务脚本部署系统20,被处理器执行时实现上述实施例的任务脚本部署方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种任务脚本部署方法,其特征在于,包括:
从版本管理工具中获取任务脚本;
当所述任务脚本包含变更信息时,获取变更信息;
当所述版本管理工具包含部署说明文档时,获取部署说明文档;
解析所述部署说明文档,以获取部署说明数据,所述部署说明数据包括待部署任务脚本数据与部署内容数据;
当所述待部署任务脚本数据符合预设的任务脚本检测规则时,根据所述待部署任务脚本数据、部署内容数据以及所述变更信息对相应的任务脚本执行部署。
2.根据权利要求1所述的任务脚本部署方法,其特征在于,所述从版本管理工具中获取任务脚本后包括:
根据时序读取所述版本管理工具中的目标版本记录和上一版本记录;
从所述目标版本记录中获取第一任务脚本,以及从所述上一版本记录中获取与第一任务脚本相应的第二任务脚本,对应的,所述任务脚本为第一任务脚本;
将所述第一任务脚本与相应的第二任务脚本进行匹配,以判断所述任务脚本是否包含变更信息:如果所述第一任务脚本与第二任务脚本匹配一致,则所述任务脚本不包含变更信息,如果所述第一任务脚本与第二任务脚本匹配不一致,则所述任务脚本包含变更信息。
3.根据权利要求2所述的任务脚本部署方法,其特征在于,所述当所述任务脚本包含变更信息时,获取变更信息后包括:
遍历所述版本管理工具并读取所述版本管理工具中的指定目录;
判断所述指定目录中是否包含内容文档:如果所述指定目录包含内容文档,则所述版本管理工具包含部署说明文档,且所述内容文档为部署说明文档,如果所述指定目录不包含内容文档,则所述版本管理工具不包含部署说明文档。
4.根据权利要求3所述的任务脚本部署方法,其特征在于,所述预设的任务脚本检测规则包含任务脚本类型规则以及任务脚本内容规范规则;
所述解析所述部署说明文档,以获取部署说明数据,所述部署说明数据包括待部署任务脚本数据与部署内容数据后,还包括:
根据所述任务脚本类型规则获取所述待部署任务脚本的脚本类型;
根据所述待部署任务脚本的脚本类型获取相应的任务脚本内容规范规则;
将所述任务脚本内容规范规则与所述待部署任务脚本进行匹配验证,以判断所述待部署任务脚本数据是否符合所述任务脚本检测规则:如果所述待部署任务脚本数据与相应的任务脚本内容规范规则匹配一致,则所述待部署任务脚本数据符合内容规范规则,如果所述待部署任务脚本数据与相应的任务脚本内容规范规则匹配不一致,则所述待部署任务脚本不符合内容规范规则。
5.根据权利要求4所述的任务脚本部署方法,其特征在于,所述根据所述待部署任务脚本数据、部署内容数据以及所述变更信息对相应的任务脚本执行部署之前,还包括:
对所述任务脚本进行复制以生成任务脚本副本。
6.根据权利要求5所述的任务脚本部署方法,其特征在于,所述方法还包括:
当所述待部署任务脚本不符合任务脚本内容规范规则时,生成相应的报错数据;
基于所述报错数据生成部署情况表单,并将所述部署情况表单反馈至开发用户端。
7.根据权利要求1所述的任务脚本部署方法,其特征在于,所述方法还包括:
预设从版本管理工具中获取任务脚本指令的触发时间;
在满足所述触发时间时,从所述版本管理工具中获取任务脚本。
8.一种任务脚本部署系统,其特征在于,包括:
第一获取模块,用于从版本管理工具中获取任务脚本;
第二获取模块,用于当所述任务脚本包含变更信息时,获取变更信息;
第三获取模块,用于当所述版本管理工具包含部署说明文档时,获取部署说明文档;
解析模块,用于解析所述部署说明文档,以获取部署说明数据,所述部署说明数据包括待部署任务脚本与部署内容数据;
执行模块,用于当所述待部署任务脚本数据符合预设的任务脚本检测规则时,根据所述待部署任务脚本数据、部署内容数据以及所述变更信息对相应的任务脚本执行部署。
9.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的任务脚本部署方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1至7中任一项所述的任务脚本部署方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010128158.2A CN111338644A (zh) | 2020-02-28 | 2020-02-28 | 任务脚本部署方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010128158.2A CN111338644A (zh) | 2020-02-28 | 2020-02-28 | 任务脚本部署方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111338644A true CN111338644A (zh) | 2020-06-26 |
Family
ID=71181999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010128158.2A Pending CN111338644A (zh) | 2020-02-28 | 2020-02-28 | 任务脚本部署方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111338644A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114840225A (zh) * | 2022-04-26 | 2022-08-02 | 光大科技有限公司 | 一种应用部署方法、装置、存储介质及电子装置 |
CN116400934A (zh) * | 2023-06-08 | 2023-07-07 | 北京随信云链科技有限公司 | 一种基于jenkins的项目自动部署方法 |
-
2020
- 2020-02-28 CN CN202010128158.2A patent/CN111338644A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114840225A (zh) * | 2022-04-26 | 2022-08-02 | 光大科技有限公司 | 一种应用部署方法、装置、存储介质及电子装置 |
CN114840225B (zh) * | 2022-04-26 | 2023-09-19 | 光大科技有限公司 | 一种应用部署方法、装置、存储介质及电子装置 |
CN116400934A (zh) * | 2023-06-08 | 2023-07-07 | 北京随信云链科技有限公司 | 一种基于jenkins的项目自动部署方法 |
CN116400934B (zh) * | 2023-06-08 | 2023-09-15 | 北京随信云链科技有限公司 | 一种基于jenkins的项目自动部署方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108876121B (zh) | 工单处理方法、装置、计算机设备和存储介质 | |
CN110209652B (zh) | 数据表迁移方法、装置、计算机设备和存储介质 | |
CN110647471B (zh) | 接口测试用例生成方法、电子装置及存储介质 | |
CN111258900A (zh) | 接口测试脚本的生成方法、系统、设备及存储介质 | |
CN110673923A (zh) | Xwiki系统配置方法、系统及计算机设备 | |
CN112039900B (zh) | 网络安全风险检测方法、系统、计算机设备和存储介质 | |
AU2021206497B2 (en) | Method and apparatus for authority control, computer device and storage medium | |
CN113448862B (zh) | 软件版本测试方法、装置及计算机设备 | |
CN111338644A (zh) | 任务脚本部署方法及系统 | |
CN113127347A (zh) | 一种接口测试方法、装置、设备及可读存储介质 | |
CN110968510A (zh) | Ssd自动化在线升级固件测试方法、装置及计算机设备 | |
CN110647415A (zh) | 数据库检测方法、装置、设备及计算机可读存储介质 | |
CN114706658A (zh) | 一种容器镜像数据处理方法、装置、设备及介质 | |
WO2019148657A1 (zh) | 关联环境测试方法、电子装置及计算机可读存储介质 | |
CN115277677A (zh) | 批量档案挂接方法、装置、计算机设备及存储介质 | |
CN113835713B (zh) | 源码包下载方法、装置、计算机设备和存储介质 | |
CN115617780A (zh) | 数据导入方法、装置、设备及存储介质 | |
CN111586022A (zh) | 防火墙开墙验证方法、电子装置、计算机设备及存储介质 | |
CN110806891B (zh) | 嵌入式设备软件版本的生成方法及装置 | |
CN111158716B (zh) | 版本升级调用方法、装置、计算机系统及可读存储介质 | |
CN110837500B (zh) | 基于socal内嵌窗口的数据筛选方法、装置以及计算机设备 | |
CN112559344A (zh) | 远程mock测试方法及系统 | |
CN111752789B (zh) | 压力测试方法、计算机设备及计算机可读存储介质 | |
CN115543429A (zh) | 项目环境的搭建方法、电子设备及计算机可读存储介质 | |
CN115129360A (zh) | 代码文件管理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |