软件部署方法、装置、设备及存储介质制造方法及图纸

技术编号:29702615 阅读:11 留言:0更新日期:2021-08-17 14:30
本发明专利技术涉及研发管理领域,公开了一种软件部署方法、装置、设备及存储介质,该方法包括:接收到软件批量构建请求时,提取其中所有构建子任务信息及用于执行构建子任务的目标构建机房;根据构建子任务信息确定对应的目标编译机的标识信息,基于标识信息从目标构建机房中筛选出对应的目标编译机,得到执行所有构建子任务的编译机集群和对应的编译机编码;根据目标编译机编码,调用对应目标编译机集群执行对应的构建子任务,生成对应的第二产品包;在所有构建子任务全部执行成功后,将软件批量构建任务标记为执行成功,将所有第二产品包生成第一产品包并进行软件的部署。此外,本发明专利技术还涉及区块链技术,软件构建的相关信息可存储于区块链中。

【技术实现步骤摘要】
软件部署方法、装置、设备及存储介质
本专利技术涉及研发管理领域,尤其涉及一种软件部署方法、装置、设备及存储介质。
技术介绍
科技的高速发展催生了各种各样的软件应用程序,其中,软件应用程序离不开软件的构建和部署,此时需要使用如jenkins等构建工具对开发人员编写的软件源代码进行构建及部署。但是,随着各类应用软件日益增长的构建数量的增长和各类定制化需求的增加,已经无法满足日常的构建和部署的需求。目前,现有技术中的软件部署方法在需要同时进行多个任务的处理时自动性差,效率较低。
技术实现思路
本专利技术的主要目的在于解决现有技术中的软件部署方法在需要同时进行多个任务的处理时自动性差,效率较低的技术问题。本专利技术第一方面提供了一种软件部署方法,包括:在接收到软件批量构建请求时,提取所述软件批量构建请求中的所有构建子任务信息以及用于执行构建子任务实现软件构建的目标构建机房,其中所述目标构建机房包括至少一个编译机;根据所述构建子任务信息确定对应的目标编译机的标识信息,并基于所述标识信息从所述目标构建机房中筛选出对应的目标编译机,得到执行所有所述构建子任务的编译机集群和其对应的编译机编码;根据所述目标编译机编码,调用对应的目标编译机集群执行对应的构建子任务,生成对应的第二产品包;在所有构建子任务全部执行成功后,将软件批量构建任务标记为执行成功,将所有所述第二产品包生成第一产品包,并基于所述第一产品包进行软件的部署可选的,在本专利技术第一方面的第一种实现方式中,所述根据所述构建子任务信息确定对应的目标编译机的标识信息,并基于所述标识信息从所述目标构建机房中筛选出对应的目标编译机,得到执行所有所述构建子任务的编译机集群和其对应的编译机编码包括:获取所述目标构建机房中各编译机的状态信息,其中,所述状态信息包括可用和不可用;获取所述状态信息为可用的编译机编码,得到可用编译机集群;根据所述构建子任务信息确定对应的目标编译机的标识信息,根据所述标识信息在可用编译机集群中筛选出对应的目标编译机,得到执行所有所述构建子任务的编译机集群和其对应的编译机编码。可选的,在本专利技术第一方面的第二种实现方式中,在所述获取所述目标构建机房中各编译机的状态信息之前,还包括:每隔预设的定时时间查询所述目标构建机房的机房数据库中的编译机心跳数据;判断各所述编译机的编译机心跳数据是否正常;将所述编译机心跳数据正常的编译机的状态信息标记为可用,将所述编译机心跳数据为异常的编译机的状态信息标记为不可用。可选的,在本专利技术第一方面的第三种实现方式中,所述标识信息中包括编译机类型、编译环境和编译类型,所述根据所述构建子任务信息确定对应的目标编译机的标识信息,根据所述标识信息在可用编译机集群中筛选出对应的目标编译机,得到执行所有所述构建子任务的编译机集群和其对应的编译机编码包括:根据所述编译机类型、编译环境和编译类型,在所述可用编译机集群中筛选出对应的目标编译机,得到各所述构建子任务对应的预选编译机,其中,所述预选编译机的数量为至少一个;获取各所述预选编译机中正在运行任务数,选择所述正在运行任务数最少的预选编译机作为目标编译机,得到执行所有所述构建子任务的编译机集群和其对应的编译机编码。可选的,在本专利技术第一方面的第四种实现方式中,所述根据所述目标编译机编码,调用对应的目标编译机集群执行对应的构建子任务,生成对应的第二产品包包括:根据所述目标编译机编码调用所述目标编译机作为执行编译机,并获取各所述执行编译机所在的目标构建机房的镜像代码库中包含的代码信息;创建工作空间目录,根据所述代码信息调用各所述执行编译机中预置的构建脚本进行软件构建,并将所述构建子任务标记为执行中,同时更新各所述执行编译机的正在运行任务数;在所述构建子任务构建成功后,更新所述执行编译机的正在运行任务数,同时得到所述构建子任务对应的第二产品包。可选的,在本专利技术第一方面的第五种实现方式中,所述根据所述代码信息调用各所述执行编译机中预置的构建脚本进行软件构建包括:获取所述构建子任务中的任务依赖情况;根据所述任务依赖情况计算出任务依赖结果,并根据各所述任务依赖结果得到构建任务执行顺序;根据所述代码信息调用各所述执行编译机中预置的构建脚本基于所述构建任务执行顺序执行所述构建子任务。可选的,在本专利技术第一方面的第六种实现方式中,在所述根据所述目标编译机编码,调用对应的目标编译机集群执行对应的构建子任务,生成对应的第二产品包之后,还包括:根据所述构建子任务的任务执行情况生成任务执行记录,其中,所述任务执行情况包括各所述执行编译机的任务执行时间和任务执行结果;获取各所述任务执行记录,根据各所述任务执行记录生成软件构建日志。本专利技术第二方面提供了一种软件部署装置,包括:任务分配模块,用于在接收到软件批量构建请求时,提取所述软件批量构建请求中的所有构建子任务信息以及用于执行构建子任务实现软件构建的目标构建机房,其中所述目标构建机房包括至少一个编译机;编译机筛选模块,用于根据所述构建子任务信息确定对应的目标编译机的标识信息,并基于所述标识信息从所述目标构建机房中筛选出对应的目标编译机,得到执行所有所述构建子任务的编译机集群和其对应的编译机编码;执行模块,用于根据所述目标编译机编码,调用对应的目标编译机集群执行对应的构建子任务,生成对应的第二产品包;构建部署模块,用于在所有构建子任务全部执行成功后,将软件批量构建任务标记为执行成功,将所有所述第二产品包生成第一产品包,并基于所述第一产品包进行软件的部署。可选的,在本专利技术第二方面的第一种实现方式中,所述编译机筛选模块包括:使用状态查询单元,用于获取所述目标构建机房中各编译机的状态信息,其中,所述状态信息包括可用和不可用;可用编译机筛选单元,用于获取所述状态信息为可用的编译机编码,得到可用编译机集群;编码筛选单元,用于根据所述构建子任务信息确定对应的目标编译机的标识信息,根据所述标识信息在可用编译机集群中筛选出对应的目标编译机,得到执行所有所述构建子任务的编译机集群和其对应的编译机编码。可选的,在本专利技术第二方面的第二种实现方式中,所述软件部署装置还包括状态信息获取模块,所述状态信息获取模块具体包括:心跳数据获取单元,用于每隔预设的定时时间查询所述目标构建机房的机房数据库中的编译机心跳数据;心跳数据判断单元,用于判断各所述编译机的编译机心跳数据是否正常;状态标记单元,用于将所述编译机心跳数据正常的编译机的状态信息标记为可用,将所述编译机心跳数据为异常的编译机的状态信息标记为不可用。可选的,在本专利技术第二方面的第三种实现方式中,所述标识信息中包括编译机类型、编译环境和编译类型,所述编码筛选单元包括:编译机预选子单元,用于根据所述编译机类型、编译环境和编译类型,在所述可用编译机集群中筛选出对应的目标编译机,得到各所述构建子任务对应的预选编译机,其中,所述预选编译机的数量为至少一个;编译机编码获取子单元,用于获取各所述预选编译机中正在运行任务数,选择所述正在运行任务数最少的预选编译机作为目标编译机,得到执行所有所述构建子任务的编译机集群本文档来自技高网...

【技术保护点】
1.一种软件部署方法,其特征在于,所述软件部署方法包括:/n在接收到软件批量构建请求时,提取所述软件批量构建请求中的所有构建子任务信息以及用于执行构建子任务实现软件构建的目标构建机房,其中所述目标构建机房包括至少一个编译机;/n根据所述构建子任务信息确定对应的目标编译机的标识信息,并基于所述标识信息从所述目标构建机房中筛选出对应的目标编译机,得到执行所有所述构建子任务的编译机集群和其对应的编译机编码;/n根据所述目标编译机编码,调用对应的目标编译机集群执行对应的构建子任务,生成对应的第二产品包;/n在所有构建子任务全部执行成功后,将软件批量构建任务标记为执行成功,将所有所述第二产品包生成第一产品包,并基于所述第一产品包进行软件的部署。/n

【技术特征摘要】
1.一种软件部署方法,其特征在于,所述软件部署方法包括:
在接收到软件批量构建请求时,提取所述软件批量构建请求中的所有构建子任务信息以及用于执行构建子任务实现软件构建的目标构建机房,其中所述目标构建机房包括至少一个编译机;
根据所述构建子任务信息确定对应的目标编译机的标识信息,并基于所述标识信息从所述目标构建机房中筛选出对应的目标编译机,得到执行所有所述构建子任务的编译机集群和其对应的编译机编码;
根据所述目标编译机编码,调用对应的目标编译机集群执行对应的构建子任务,生成对应的第二产品包;
在所有构建子任务全部执行成功后,将软件批量构建任务标记为执行成功,将所有所述第二产品包生成第一产品包,并基于所述第一产品包进行软件的部署。


2.根据权利要求1所述的软件部署方法,其特征在于,所述根据所述构建子任务信息确定对应的目标编译机的标识信息,并基于所述标识信息从所述目标构建机房中筛选出对应的目标编译机,得到执行所有所述构建子任务的编译机集群和其对应的编译机编码包括:
获取所述目标构建机房中各编译机的状态信息,其中,所述状态信息包括可用和不可用;
获取所述状态信息为可用的编译机编码,得到可用编译机集群;
根据所述构建子任务信息确定对应的目标编译机的标识信息,根据所述标识信息在可用编译机集群中筛选出对应的目标编译机,得到执行所有所述构建子任务的编译机集群和其对应的编译机编码。


3.根据权利要求2所述的软件部署方法,其特征在于,在所述获取所述目标构建机房中各编译机的状态信息之前,还包括:
每隔预设的定时时间查询所述目标构建机房的机房数据库中的编译机心跳数据;
判断各所述编译机的编译机心跳数据是否正常;
将所述编译机心跳数据正常的编译机的状态信息标记为可用,将所述编译机心跳数据为异常的编译机的状态信息标记为不可用。


4.根据权利要求3所述的软件部署方法,其特征在于,所述标识信息中包括编译机类型、编译环境和编译类型,所述根据所述构建子任务信息确定对应的目标编译机的标识信息,根据所述标识信息在可用编译机集群中筛选出对应的目标编译机,得到执行所有所述构建子任务的编译机集群和其对应的编译机编码包括:
根据所述编译机类型、编译环境和编译类型,在所述可用编译机集群中筛选出对应的目标编译机,得到各所述构建子任务对应的预选编译机,其中,所述预选编译机的数量为至少一个;
获取各所述预选编译机中正在运行任务数,选择所述正在运行任务数最少的预选编译机作为目标编译机,得到执行所有所述构建子任务的编译机集群和其对应的编译机编码。


5.根据权利要求1-4中任一项所述的软件部署方法,其特征在于,所述根据所述目标编译机编码,调用对应的目标编译机集群执行对应的...

【专利技术属性】
技术研发人员:陈亿
申请(专利权)人:康键信息技术深圳有限公司
类型:发明
国别省市:广东;44

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

1