一种软件自动化部署方法及装置制造方法及图纸

技术编号:19592860 阅读:22 留言:0更新日期:2018-11-28 04:42
本申请公开了一种软件自动化部署方法及装置,涉及计算机软件技术领域,为解决现有技术中维护成本高和灵活性差的问题而发明专利技术。该方法采用Ansible脚本进行编辑,主要包括:获取目标软件的前端代码,所述前端代码包含至少一个前端代码模块;获取所述前端代码对应的后端代码;并行编译所述前端代码和所述后端代码,分别得到前端代码编译结果和后端代码编译结果;将所述前端代码编译结果和所述后端代码编译结果合并打包成归档压缩包;执行所述归档压缩包,部署所述目标软件。本申请主要应用于自动化部署软件的过程中。

【技术实现步骤摘要】
一种软件自动化部署方法及装置
本申请涉及计算机软件
,尤其涉及一种软件自动化部署方法及装置。
技术介绍
Java是一种面向对象的编程语言,吸收了C++语言的各种优点,同时摒弃了C++中难以理解的多继承、指针等概念,具有简单、面向对象、分布式、健壮性、安全性、可移植性和多态性的特点。为了增强Java的可移植性,在软件部署过程中通常采用自动化部署的软件部署方式。软件部署是指将软件代码放到软件运行环境中让用户使用新部署程序的整个工作流程。在整个工作流程中包括代码检出、软件打包,软件上传、软件发布、环境参数修改和软件运行环境重新启动。软件自动化部署,是指在尽量使用工具、避免人工干预的前提下,实现软件部署。如果采用软件自动化部署方式进行软件部署,则能够增加软件的可预测性,提供软件的总体质量,同时提高部署软件的效能。在现有技术中,一般基于Java的软件自动化部署通常是仅仅依据Jenkins工具和其相关插件完成。Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。基于Jenkins进行软件自动化部署,必须安装Jenkins工具否则无法进行软件部署工作。在使用Jenkins工具进行软件部署的过程中,不仅需要维护Jenkins工具本身,还需要维护Jenkins相关插件。一旦出现Jenkins相关插件无法实现的需求,软件自动化部署将无法实现。总之,基于Jenkins的软件自动化部署方式,具有维护成本高和灵活性差的缺点。
技术实现思路
本申请提供了一种软件自动化部署方法及装置,以解决现有技术中维护成本高和灵活性差的问题。第一方面,本申请提供了一种软件自动化部署方法,该方法采用Ansible脚本进行编辑,该方法包括:获取目标软件的前端代码,所述前端代码包含至少一个前端代码模块;获取所述前端代码对应的后端代码;并行编译所述前端代码和所述后端代码,分别得到前端代码编译结果和后端代码编译结果;将所述前端代码编译结果和所述后端代码编译结果合并打包成归档压缩包;执行所述归档压缩包,部署所述目标软件。结合第一方面,在第一方面第一种可能的实现方式中,所述获取目标软件的前端代码之前,所述方法还包括:构建用户操作界面,根据所述用户操作界面获取前端代码提交版本号、后端代码提交版本号、部署环境参数和部署操作参数。结合第一方面,在第一方面的第二种可能的实现方式中,所述获取目标软件的前端代码包括:根据所述前端代码提交版本号获取目标软件的前端代码;相应的,所述获取所述前端代码对应的后端代码包括:根据所述后端代码提交版本号获取所述前端代码对应的后端代码;相应的,所述执行所述归档压缩包,部署所述目标软件包括:根据所述部署环境参数和所述部署操作参数执行所述归档压缩包,部署所述目标软件。结合第一方面,在第一方面的第三种可能的实现方式中,所述部署环境参数包括网络互联协议IP地址、用户名、密码和预置存储位置;相应的,所述根据所述部署环境参数和所述部署操作参数执行所述归档压缩包,部署所述目标软件,包括:根据所述用户名和密码,将所述归档压缩包保存至所述IP地址对应的终端的所述预置存储位置;停止运行所述终端的网络环境,查找并删除所述归档压缩包对应的运行目录中的软件代码;将所述归档压缩包解压至所述运行目录;根据所述部署操作参数,修改所述终端的参数配置文件;重启所述网络环境,完成所述目标软件的部署。结合第一方面,在第一方面的第四种可能的实现方式中,所述执行所述归档压缩包,部署所述目标软件之后,所述方法还包括:获取更新的前端代码;判断所述更新的前端代码是否能够独立编译;如果判断结果为是,则编译所述更新的前端代码,得到更新的前端代码编译结果;执行所述更新的前端代码编译结果,重新部署所述目标软件。第二方面,本申请还提供了一种软件自动化部署装置,所述装置包括用于执行第一方面各种实现方式中方法步骤的模块。第三方面,本申请还提供了一种终端,包括:处理器及存储器;所述处理器可以执行所述存储器中所存储的程序或指令,从而实现以第一方面各种实现方式所述软件自动化部署方法。第四方面,本申请还提供了一种存储介质,该计算机存储介质可存储有程序,该程序执行时可实现包括本申请提供的软件自动化部署方法各实施例中的部分或全部步骤。本申请提供的一种软件自动化部署方法及装置,采用Ansible脚本进行编辑,具体通过获取目标软件的前端代码,所述前端代码包含至少一个前端代码模块,然后获取前端代码对应的后端代码,再并行编译前端代码和后端代码,再将前端代码编译结果和后端代码编译结果合并打包成归档压缩包,最后执行归档压缩包,部署目标软件。与现有技术相比,在实现软件自动化部署的过程中,由于Ansible的支持任何语言编写的模块化特性,不需要加载相关插件,在编译过程中不受插件功能的限制,易于实现自动化部署,同时易于维护节省成本。前端代码和后端代码独立编译和部署,以及前端代码模块化独立编译和部署,缩小部署粒度,提高软件部署的灵活性。前端代码与后端代码独立并行编译,以及前端代码模块化并行编译,均提高了编译速度,也提高软件自动化部署的效率。附图说明为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请提供的一种软件自动化部署方法流程图;图2为本申请提供的另一种软件自动化部署方法流程图;图3为本申请提供的一种更新目标软件的方法流程图;图4为本申请提供的一种软件自动化部署装置组成框图;图5为本申请提供的另一种软件自动化部署装置组成框图。具体实施方式现有技术中自动化部署过程完全是仅仅由Jenkins相关插件来实现的,一旦出现插件无法实现的需求,自动化部署将无法实现。而Ansible基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。基于Ansible工具编译前端代码或后端代码的过程中,不需要再加载其他相关插件,能保证编译工作不受插件限制。在本申请中采用Ansible脚本进行编辑。参见图1,为本申请提供的一种软件自动化部署方法流程图。如图1所示,该方法包括:101、获取目标软件的前端代码,所述前端代码包含至少一个前端代码模块。前端是用户能看到能操作的软件界面。前端代码是实现软件界面的程序代码,该程序代码的编写语言为Java语言。软件自动化部署之前,已经编写好各个软件模块的代码。软件自动化部署就是将编写好的软件模块代码重新整合编译的过程。目标软件是自动化部署的最终目标。目标软件的前端代码至少包括一个前端代码模块,前端的代码模块可以依据功能划分、可以依据代码编程人员划分,还可以依据软件界面的位置布局划分,在本申请实施例中对前端代码模块的划分依据不做限定。前端代码是依据目标软件的部署目的选取的,部署目的可以是发行目标软件、更新目标软件或测试目标软件。本申请中,前端代码提交版本号是前端代码的标识信息,可以通过前端代码提交版本号获取目标软件的前端代码,即获取目标软件的前端代码的所有前端代码模块。10本文档来自技高网...

【技术保护点】
1.一种软件自动化部署方法,其特征在于,所述方法采用Ansible脚本进行编辑,所述方法包括:获取目标软件的前端代码,所述前端代码包含至少一个前端代码模块;获取所述前端代码对应的后端代码;并行编译所述前端代码和所述后端代码,分别得到前端代码编译结果和后端代码编译结果;将所述前端代码编译结果和所述后端代码编译结果合并打包成归档压缩包;执行所述归档压缩包,部署所述目标软件。

【技术特征摘要】
1.一种软件自动化部署方法,其特征在于,所述方法采用Ansible脚本进行编辑,所述方法包括:获取目标软件的前端代码,所述前端代码包含至少一个前端代码模块;获取所述前端代码对应的后端代码;并行编译所述前端代码和所述后端代码,分别得到前端代码编译结果和后端代码编译结果;将所述前端代码编译结果和所述后端代码编译结果合并打包成归档压缩包;执行所述归档压缩包,部署所述目标软件。2.如权利要求1所述的方法,其特征在于,所述获取目标软件的前端代码之前,所述方法还包括:构建用户操作界面,根据所述用户操作界面获取前端代码提交版本号、后端代码提交版本号、部署环境参数和部署操作参数。3.如权利要求2所述的方法,其特征在于,所述获取目标软件的前端代码包括:根据所述前端代码提交版本号获取目标软件的前端代码;相应的,所述获取所述前端代码对应的后端代码包括:根据所述后端代码提交版本号获取所述前端代码对应的后端代码;相应的,所述执行所述归档压缩包,部署所述目标软件包括:根据所述部署环境参数和所述部署操作参数执行所述归档压缩包,部署所述目标软件。4.如权利要求3所述的方法,其特征在于,所述部署环境参数包括网络互连协议IP地址、用户名、密码和预置存储位置;相应的,所述根据所述部署环境参数和所述部署操作参数执行所述归档压缩包,部署所述目标软件,包括:根据所述用户名和密码,将所述归档压缩包保存至所述IP地址对应的终端的所述预置存储位置;停止运行所述终端的网络环境,查找并删除所述归档压缩包对应的运行目录中的软件代码;将所述归档压缩包解压至所述运行目录;根据所述部署操作参数,修改所述终端的参数配置文件;重启所述网络环境,完成所述目标软件的部署。5.如权利要求1-4任一项所述的方法,其特征在于,所述执行所述归档压缩包,部署所述目标软件之后,所述方法还包括:获取更新的前端代码;编译所述更新的前端代码,得到更新的前端代码编译结果;执行所述更新的前端代码编译结果,重新部署所述目标软件。6.一种软件自动化部署装置,其特征在于,所述装置采用Ansible脚本进行编辑,所述...

【专利技术属性】
技术研发人员:夏峰
申请(专利权)人:北京神州泰岳软件股份有限公司
类型:发明
国别省市:北京,11

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

1