一种持续集成持续交付系统的制作方法

文档序号:15462218发布日期:2018-09-18 18:26阅读:199来源:国知局

本发明涉及软件开发领域,具体来说,涉及一种持续集成持续交付系统。



背景技术:

随着开发的不断迭代以及团队人员的增长,传统的持续集成持续交付系统已经无法满足多环境部署开发的需求。

针对相关技术中的问题,目前尚未提出有效的解决方案。



技术实现要素:

针对相关技术中的问题,本发明提出一种持续集成持续交付系统,该持续集成持续交付系统需要对多个同时并行开发的流水线(或项目分支)进行隔离化的持续集成和持续交付,以解决当前在同一开发环境内开发造成的环境冲突问题。

为了解决现有技术中存在的当前在同一环境内开发造成的环境冲突问题,本发明提供了一种持续集成持续交付系统,该持续集成持续交付系统包括:当前虚拟开发环境;多个并行开发部署的流水线,多个流水线设置在当前虚拟开发环境中,并且所有的流水线的运行都是相互隔离的。

根据本发明的一个实施例,包括:递进模块,递进模块用于将多个流水线从当前虚拟开发环境推入到下一个虚拟开发环境中。

根据本发明的一个实施例,还包括:管理模块,管理模块用于监控所有的流水线的状态。

根据本发明的一个实施例,进一步包括:管理模块进一步用于对任意一个流水线进行删除、释放资源和重试。

本发明的有益技术效果在于:

本发明通过在一虚拟开发环境中设置多个同时并行开发的流水线,并且所有的流水线的运行都是相互隔离的,从而通过对开发流水线之间的网络和数据隔离,进而能够对多个同时并行开发的项目进行隔离化的持续集成和持续交付,进而解决了在传统开发过程中,多个项目在同一环境内开发造成的环境冲突问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例的持续集成持续交付系统的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

为了便于理解本发明的技术方案,下面对本领域的一些常用术语进行解释。

持续集成:其是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

持续交付:其是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的“类生产环境”中进行更多的测试来更早地发现问题,比如,我们完成单元测试后,可以把代码部署到连接数据库的Staging环境(或模拟环境)中更多的自动化集成测试,如果代码没有问题,可以继续手动部署到生产环境中。

为了解决现有技术中存在的当前在同一环境内开发造成的环境冲突问题,本发明提供了一种持续集成持续交付系统,如图1所示,该持续集成持续交付系统包括:当前虚拟开发环境;多个并行开发部署的流水线,多个流水线设置在当前虚拟开发环境中,并且所有的流水线的运行都是相互隔离的。

在该实施例中,如图1所示,该持续集成持续交付系统包括:虚拟开发环境1、虚拟开发环境2...虚拟开发环境n,并且在虚拟开发环境1中设置有同时多个并行开发部署的流水线(如流水线1至流水线n),并且所有的流水线的运行都是相互隔离的。同时,用户通过配置组件和命令行,创建多个持续集成持续交付的流水线,随后对必要信息进行配置,从而通过对于一些参数的配置来增加相应的组件,例如,对服务器进行配置等。随后,在配置完必要的信息后,流水线即会进入构建、测试以及部署阶段,其中,构建阶段是指编译、打包项目的过程,测试阶段是指对流水线进行测试的过程,部署是指将流水线配置到虚拟机或者计算机上的模拟过程。随后,当部署阶段完成后,用户即可通过递进模块(或点击按钮),将上述多个流水线从当前环境中推入下一个环境,例如,根据本发明的一个实施例,用户可通过点击按钮,从而通过递进模块将虚拟开发环境1中的流水线1至流水线n推入到虚拟开发环境2中,本发明对此不做限定。

此外,对于每个虚拟开发环境中的流水线都是隔离且互不干涉的,从而对开发流水线之间的网络和数据隔离,所以用户无需担心当部署相同的流水线时,会发生环境冲突的问题。

借助于本发明的上述技术方案,通过在一虚拟开发环境中设置多个同时并行开发的流水线,并且所有的流水线的运行都是相互隔离的,从而通过对开发流水线之间的网络和数据隔离,进而能够对多个同时并行开发的项目进行隔离化的持续集成和持续交付,进而解决了在传统开发过程中,多个项目在同一环境内开发造成的环境冲突问题。

根据本发明的一个实施例,包括:递进模块,递进模块用于将多个流水线从当前虚拟开发环境推入到下一个虚拟开发环境中。

根据本发明的一个实施例,还包括:管理模块,管理模块用于监控所有的流水线的状态。

根据本发明的一个实施例,进一步包括:管理模块进一步用于对任意一个流水线进行删除、释放资源和重试,从而在流水线的运行中,用户可以随时查看流水线的状态,并在错误发生后做出相应的项目代码修改后重试,当然可以理解,用户还可通过该管理模块实现对流水线的删除或释放资源,其中,删除是指将流水线的全部信息(包括配置信息)删除,释放资源仅是将某一流水线的占用资源进行释放。

综上所述,借助于本发明的上述技术方案,其可创建持续集成持续交付的流水线,并且部署组件可定制化,以及各个持续集成持续交付的流水线环境隔离,以及其还可监控各个持续集成持续交付流水线的状态,以及多虚拟开发环境递进的形式,以及各项目的测试覆盖率监控以及测试结果的数据均能展示。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1