System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 软件版本自动集成部署方法及系统技术方案_技高网

软件版本自动集成部署方法及系统技术方案

技术编号:41295055 阅读:4 留言:0更新日期:2024-05-13 14:44
本申请公开了软件版本自动集成部署方法及系统,方法包括:接收集成部署请求,根据集成部署请求识别对应代码仓库以及对应镜像仓库;调取代码仓库中对应代码版本的代码,识别待调用的编译任务;识别系统环境节点,调用程序编译脚本,对代码执行并行编译,输出各服务可执行程序以及配置解析脚本;构建综合服务程序镜像,调取镜像仓库中对应应用镜像;判断是否需要发布,若是,根据综合服务程序镜像、应用镜像以及配置解析脚本输出并执行集成部署包,完成软件版本的自动集成部署,若否,综合服务程序镜像以及应用镜像存储至测试环境私有镜像仓库。本申请的有益效果:软件版本自动集成部署效率高、可靠性高。

【技术实现步骤摘要】

本申请涉及软件集成部署,尤其涉及软件版本自动集成部署方法及系统


技术介绍

1、目前软件的持续集成是软件开发迭代过程中保障软件质量的一个非常重要环节。在实践中使用jenkins工具自动化完成繁琐的集成任务,可在jenkins中自定义编写执行的脚本任务。通常执行过程是先从gitlab拉取最新源代码,再将源代码编译成可执行程序,构建程序服务的镜像,打包成软件包,最后人工将软件包部署到k8s运行环境。软件由许多微服务和第三方应用组成,存在多个代码仓库和应用版本,统一的程序编译过程不能同时拉取多个代码库的代码版本,也无法指定特定应用的使用版本,需要频繁调整集成脚本从而导致编译错误增多。同时编译多个程序服务任务和构建多个镜像任务都是顺序执行,导致集成过程消耗很长时间。每个服务都维护一个程序镜像,构建复杂且体量大。综上,相关技术中对软件的持续集成依赖于专业运维任人员的集成脚本调整以及程序镜像构建,不仅集成部署效率低还容易出现编译错误等问题。

2、中国专利《第三方软件集成的方法及系统》,公开号:cn104516739a,公开日:2015年01月05日,具体公开了查询本机中已下载的软件是否属于第三方软件库中的软件,其中,第三方软件库为按照预定规则搜索需要集成的第三方软件所形成的;当查询到第三方软件时,确定第三方软件的集成条件;利用集成条件按照预定程序进行集成,并形成启动第三方软件的链接图标。该方案中利用集成条件使得第三方软件按照预定程序自动进行集成,当存在多个第三方软件需要集成时,也是顺序执行,此时集成过程消耗时间过长,集成部署效率低。

3、中国专利《一种软件集成方法及装置》,公开号:cn109683899a,公开日:2017年10月18日,具体公开了应用在安装有持续集成工具jenkins的计算设备,jenkins中配置有开源代码审查软件gerrit的中心服务器的参数信息,该方法包括:当计算设备调用jenkins时,根据参数信息确定中心服务器中存在待集成代码;获取待集成代码;对待集成代码进行编译,生成程序包;将生成的程序包部署到生产环境中,生成软件产品。该方案中在中心服务器中执行待集成代码的编译,同样也存在顺序执行导致集成过程消耗时间过长的问题。


技术实现思路

1、本申请针对现有技术中存在软件集成部署采用顺序执行代码编译造成集成效率低下的问题,提供软件版本自动集成部署方法,根据集成部署请求识别多个第三方或微服务中满足集成部署请求的第三方或微服务,与其对应的代码仓库以及镜像仓库建立连接,根据集成部署请求调用代码仓库中的代码以及镜像仓库中的应用镜像,无需重新编写代码或构建应用镜像,进而识别第三方或微服务对应的系统环境节点,在对应的系统环境节点中分别执行对应代码并行编译,提高代码编译效率,同时利用分步构建程序镜像,降低程序镜像构建的复杂度,最终实现软件版本自动集成部署效率的提高。

2、为实现上述技术目的,本申请提供的一种技术方案是,软件版本自动集成部署方法,包括如下步骤:s1:接收集成部署请求,根据集成部署请求识别对应代码仓库以及对应镜像仓库;s2:根据集成部署请求调取代码仓库中对应代码版本的代码,识别待调用的编译任务;

3、s3:根据集成部署请求识别系统环境节点,以系统环境节点调用程序编译脚本,根据程序编译脚本以及待调用的编译任务对代码执行并行编译,输出各服务可执行程序以及配置解析脚本;s4:根据各服务可执行程序构建综合服务程序镜像,根据集成部署请求调取镜像仓库中对应应用镜像;s5:根据集成部署请求判断是否需要发布,若是,执行s6,若否,则综合服务程序镜像以及应用镜像存储至集成部署请求对应项目的测试环境私有镜像仓库;s6:根据综合服务程序镜像、应用镜像以及配置解析脚本输出并执行集成部署包,完成软件版本的自动集成部署。

4、进一步的,集成部署请求至少包括代码版本、集成服务信息、发布包版本、应用版本、项目配置版本以及发布信息。

5、进一步的,s1还包括:接收集成部署请求,根据集成部署请求中集成服务信息识别对应代码仓库以及对应镜像仓库。

6、进一步的,根据集成部署请求识别系统环境节点还包括:根据集成部署请求中的项目配置版本获取微服务以及第三方应用的服务器系统;根据服务器系统识别系统环境节点。

7、进一步的,输出各服务可执行程序以及配置解析脚本包括:将并行编译后输出的程序集成作为各服务可执行程序输出;导出代码中的配置解析脚本。

8、进一步的,根据各服务可执行程序构建综合服务程序镜像包括:根据集成部署请求获得预设命令参数,根据预设命令参数对各服务可执行程序进行程序清理;以清理后的各服务可执行程序同一拷贝至预设基础镜像,构建综合服务程序镜像。

9、进一步的,s6还包括:根据集成部署请求中的项目配置版本识别项目配置仓库,并调用对应项目配置仓库中的配置文件;根据配置解析脚本获取系统数据文件以及运行配置文件;根据运行配置文件构建配置镜像包;以综合服务程序镜像、应用镜像、配置镜像包、配置文件、系统数据文件以及配置解析脚本输出集成部署包;执行集成部署包完成软件版本的自动集成部署。

10、进一步的,集成部署请求还包括部署信息。

11、进一步的,s5还包括:根据集成部署请求中的发布信息判断是否需要发布,若是,执行s6,若否,根据集成部署请求中的部署信息判断是否需要部署,若是,则综合服务程序镜像以及应用镜像存储至集成部署请求对应项目的测试环境私有镜像仓库,若否,执行结束。

12、本申请提供的另一种技术方案是,软件版本自动集成部署系统,用于实现如上述的方法,包括存储器和处理器,存储器用于存储集成部署请求中微服务以及第三方的对应信息,处理器根据对应信息调用对应代码仓库或镜像仓库中的代码实现集成部署。

13、本申请提供的又一种技术方案是,计算机可读存储介质,存储介质中存储有计算机程序或指令,当计算机程序或指令被处理设备执行时,实现如上述的方法。

14、本申请的有益效果:根据集成部署请求调用代码仓库中的代码以及镜像仓库中的应用镜像,无需重新编写代码或构建应用镜像;识别第三方或微服务对应的系统环境节点,在对应的系统环境节点中分别执行对应代码并行编译,提高代码编译效率;分步构建程序镜像:根据各服务可执行程序构建综合服务程序镜像、调用应用镜像,综合构建程序镜像,降低程序镜像构建的复杂度。

本文档来自技高网...

【技术保护点】

1.软件版本自动集成部署方法,其特征在于:包括如下步骤:

2.如权利要求1所述的软件版本自动集成部署方法,其特征在于:

3.如权利要求2所述的软件版本自动集成部署方法,其特征在于:

4.如权利要求2所述的软件版本自动集成部署方法,其特征在于:

5.如权利要求1或2所述的软件版本自动集成部署方法,其特征在于:

6.如权利要求1或2所述的软件版本自动集成部署方法,其特征在于:

7.如权利要求2所述的软件版本自动集成部署方法,其特征在于:

8.如权利要求2所述的软件版本自动集成部署方法,其特征在于:

9.如权利要求8所述的软件版本自动集成部署方法,其特征在于:

10.软件版本自动集成部署系统,用于实现如权利要求1至权利要求9任意一项权利要求所述的方法,其特征在于:包括存储器和处理器,存储器用于存储集成部署请求中微服务以及第三方的对应信息,处理器根据对应信息调用对应代码仓库或镜像仓库中的代码实现集成部署。

【技术特征摘要】

1.软件版本自动集成部署方法,其特征在于:包括如下步骤:

2.如权利要求1所述的软件版本自动集成部署方法,其特征在于:

3.如权利要求2所述的软件版本自动集成部署方法,其特征在于:

4.如权利要求2所述的软件版本自动集成部署方法,其特征在于:

5.如权利要求1或2所述的软件版本自动集成部署方法,其特征在于:

6.如权利要求1或2所述的软件版本自动集成部署方法,其特征在于:

7.如权利...

【专利技术属性】
技术研发人员:付俊超肖琴芝康福荣张学成
申请(专利权)人:浙江众合科技股份有限公司
类型:发明
国别省市:

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

1