自动化部署方法、装置、介质及电子设备制造方法及图纸

技术编号:20389046 阅读:19 留言:0更新日期:2019-02-20 02:31
本发明专利技术实施例提供了一种自动化部署方法、装置、介质及电子设备,该自动化部署方法包括:在接收到微服务更新指令时,获取所述微服务更新后的代码文件;基于所述微服务当前版本镜像及所述代码文件,生成所述微服务的最新版本镜像;将所述最新版本镜像部署至测试环境中,以对最新版本的微服务进行测试;测试成功后,将所述最新版本镜像部署到目标环境中。本发明专利技术实施例的技术方案可以提高服务的开发效率,缩短开发周期。

【技术实现步骤摘要】
自动化部署方法、装置、介质及电子设备
本专利技术涉及计算机软件
,具体而言,涉及一种自动化部署方法、装置、介质及电子设备。
技术介绍
随着计算机软件技术的发展,计算机应用程序的功能越来越强大,也越来越复杂。为了保证应用的开发效率,人们开始采用微服务的方式对应用或者服务进行开发或者更新。微服务可以相当于一个单独的项目,与其他微服务组合在一起实现某种功能,并且其相互之间可以采用不同的存储方式,开发技术、编程语言等,使得应用或者服务的开发更加简单、灵活,效率也更高。目前,一个应用或者服务的成功上线,通常要经历开发、内网部署、内网测试、外网部署、外网上线等一系列流程。这些流程中每一步都需要开发人员或者测试人员的确认和推进,往往经历的时间非常长,并且容易出错,导致流程阻塞。需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本专利技术的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
本专利技术实施例的目的在于提供一种自动化部署方法,进而至少在一定程度上克服软件开发过程中需要人工多次操作,导致开发周期长的问题。本专利技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本专利技术的实践而习得。根据本专利技术实施例的第一方面,提供了一种自动化部署方法,包括:在接收到微服务更新指令时,获取所述微服务更新后的代码文件;基于所述微服务当前版本镜像及所述代码文件,生成所述微服务的最新版本镜像;将所述最新版本镜像部署至测试环境中,以对最新版本的微服务进行测试;测试成功后,将所述最新版本镜像部署到目标环境中。在本专利技术的一种示例性实施例中,基于所述微服务当前版本镜像及所述代码文件,生成所述微服务的最新版本镜像之前,还包括:在所述微服务更新指令满足预设条件时,从镜像文件库中确定所述微服务的基础镜像;基于所述基础镜像及所述代码文件,生成所述微服务的最新版本镜像。在本专利技术的一种示例性实施例中,所述方法还包括:判断所述测试环境对应的镜像文件库中是否存在所述微服务的当前版本镜像;如果所述测试环境对应的镜像文件库中不存在所述当前版本镜像,则确定所述微服务更新指令满足预设条件。在本专利技术的一种示例性实施例中,所述将所述最新版本镜像部署到目标环境中,包括:将所述最新版本镜像上传至目标环境对应的镜像文件库中。在专利技术的一种示例性实施例中,生成所述微服务的最新版本镜像之后,还包括:将所述最新版本镜像上传至所述测试环境对应的镜像文件库中。在本专利技术的一种示例性实施例中,所述将所述最新版本镜像部署至测试环境中,以对最新版本的微服务进行测试,包括:根据所述测试环境对应的镜像文件库的访问地址以及所述最新版本镜像的标签获取所述最新版本镜像,以部署所述最新版本微服务至测试环境中;在所述测试环境部署所述最新版本微服务后,启动所述微服务,以对所述最新版本微服务进行测试。在本专利技术的一种示例性实施例中,所述方法还包括:如果监测到所述微服务的代码仓库发生推送事件,则确定接收到微服务更新指令。根据本专利技术实施例的第二方面,提供了一种自动化部署装置,包括:代码获取单元,用于在接收到微服务更新指令时,获取所述微服务更新后的代码文件;镜像生成单元,用于基于所述微服务当前版本镜像及所述代码文件,生成所述微服务的最新版本镜像;测试单元,用于将所述最新版本镜像部署至测试环境中,以对最新版本的微服务进行测试;上线单元,用于测试成功后,将所述最新版本镜像部署到目标环境中。根据本专利技术实施例的第三方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中第一方面所述的自动化部署方法。根据本专利技术实施例的第四方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中第一方面所述的自动化部署方法。本专利技术实施例提供的技术方案可以包括以下有益效果:在本专利技术的一些实施例所提供的技术方案中,一方面,在接收到微服务更新指令时,获取所述微服务更新后的代码文件,进而根据所述微服务当前版本镜像及所述代码文件,生成所述微服务的最新版本镜像。根据最新的微服务的代码自动生成最新版本镜像,减少了开发人员合并代码制作新版本的工作,缩短了开发周期,提高了开发效率;另一方面,将最新版本镜像部署至测试环境中,以对最新版本的微服务进行测试,然后在测试成功后,将最新版本镜像部署到目标环境中。生成的最新版本镜像可以在需要的环境上自动部署,降低了对人员的要求,提高了健壮性;并且通过最新版本镜像进行测试环境和目标环境的部署,可以保证版本的一致性,减少版本上线后出错的风险;再一方面,通过每个版本的镜像可以协助后续开发,使得开发更加容易,减少开发的工作量,提高开发效率。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本专利技术。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:图1示意性示出了根据本专利技术的实施例的自动化部署方法的流程图;图2示意性示出了根据本专利技术的另一实施例的自动化部署方法的流程图;图3示意性示出了根据本专利技术的另一实施例的自动化部署方法的流程图;图4示意性示出了根据本专利技术的另一实施例的自动化部署方法的流程图;图5示意性示出了根据本专利技术的另一实施例的自动化部署方法的流程图;图6示意性示出了根据本专利技术的另一实施例的自动化部署方法的流程图;图7示意性示出了根据本专利技术的实施例的自动化部署装置的框图;图8示出了适于用来实现本专利技术实施例的电子设备的计算机系统的结构示意图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本专利技术将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本专利技术的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本专利技术的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本专利技术的各方面。附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。目前,在应用或者服务开发上线的流程中,主要都是通过人工一步一步的确认来推进。每个模块的开发人员提交代码到相应的Git分支上后,通过脚本拉取合并代本文档来自技高网...

【技术保护点】
1.一种自动化部署方法,其特征在于,包括:在接收到微服务更新指令时,获取所述微服务更新后的代码文件;基于所述微服务当前版本镜像及所述代码文件,生成所述微服务的最新版本镜像;将所述最新版本镜像部署至测试环境中,以对最新版本的微服务进行测试;测试成功后,将所述最新版本镜像部署到目标环境中。

【技术特征摘要】
1.一种自动化部署方法,其特征在于,包括:在接收到微服务更新指令时,获取所述微服务更新后的代码文件;基于所述微服务当前版本镜像及所述代码文件,生成所述微服务的最新版本镜像;将所述最新版本镜像部署至测试环境中,以对最新版本的微服务进行测试;测试成功后,将所述最新版本镜像部署到目标环境中。2.根据权利要求1所述的自动化部署方法,其特征在于,基于所述微服务当前版本镜像及所述代码文件,生成所述微服务的最新版本镜像之前,还包括:在所述微服务更新指令满足预设条件时,从镜像文件库中确定所述微服务的基础镜像;基于所述基础镜像及所述代码文件,生成所述微服务的最新版本镜像。3.根据权利要求2所述的自动化部署方法,其特征在于,所述方法还包括:判断所述测试环境对应的镜像文件库中是否存在所述微服务的当前版本镜像;如果所述测试环境对应的镜像文件库中不存在所述当前版本镜像,则确定所述微服务更新指令满足预设条件。4.根据权利要求1所述的自动化部署方法,其特征在于,所述将所述最新版本镜像部署到目标环境中,包括:将所述最新版本镜像上传至目标环境对应的镜像文件库中。5.根据权利要求1所述的自动化部署方法,其特征在于,生成所述微服务的最新版本镜像之后,还包括:将所述最新版本镜像上传至所述测试环境对应的镜像文件库中。6.根据权利要求5所述的自动化部署方法,其...

【专利技术属性】
技术研发人员:丁亮
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:浙江,33

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

1