一种自动化编译安装方法、装置、设备及存储介质与流程

文档序号:16627180发布日期:2019-01-16 06:13阅读:138来源:国知局
一种自动化编译安装方法、装置、设备及存储介质与流程

本发明涉及存储技术领域,特别是涉及一种自动化编译安装方法、装置、设备及存储介质。



背景技术:

目前,在各种大型系统开发过程中,在测试系统功能时大部分都是采用先编译出系统,然后将系统安装到计算机上面去运行,最后再调试所需要的各种功能。有时候只是调试一个小的模块,也需要重新编译整个系统;或者只是编译其中的模块,需要手动替换该模块后才能测试模块的功能。

因此,如何能够自动化完成编译以及安装,是本领域技术人员亟待解决的技术问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种自动化编译安装方法、装置、设备及存储介质,可以自动化完成编译以及安装,节省大量的时间。其具体方案如下:

一种自动化编译安装方法,包括:

管理所开发的系统内代码资源,下载最新的代码;

管理目标机器,查询出所述目标机器待安装系统的版本号;

根据查询出的版本号确定所需要的编译方式,并根据确定的编译方式对所述代码进行自动编译;

将编译所得的镜像或模块自动安装到目标机器。

优选地,在本发明实施例提供的上述自动化编译安装方法中,管理所开发的系统内的代码资源,具体包括:

使用git分布式版本控制系统管理所开发的系统内的代码资源。

优选地,在本发明实施例提供的上述自动化编译安装方法中,查询出所述目标机器待安装系统的版本号,具体包括:

当有多个目标机器时,确定所述目标机器是不是同一个版本;

若否,则查询出所有目标机器中版本最老的目标机器待安装系统的版本号。

优选地,在本发明实施例提供的上述自动化编译安装方法中,所述编译方式包括增量编译、全编译或选择性编译;

默认的所述编译方式是增量编译。

优选地,在本发明实施例提供的上述自动化编译安装方法中,在根据确定的编译方式对所述代码进行自动编译之后,还包括:

将编译所得的镜像或模块上传至通用ftp服务器,并向所述目标机器发送通知信号。

优选地,在本发明实施例提供的上述自动化编译安装方法中,将编译所得的镜像或模块自动安装到目标机器,具体包括:

所述目标机器在接收到所述通知信号后,登录通用ftp服务器并下载编译所得的镜像或模块;

将下载的编译所得的镜像或模块自动执行安装。

本发明实施例还提供了一种自动化编译安装装置,包括:

代码管理模块,用于管理所开发的系统内代码资源,下载最新的代码;

目标机器管理模块,用于管理目标机器,查询出所述目标机器待安装系统的版本号;

系统构建模块,用于根据查询出的版本号确定所需要的编译方式,并根据确定的编译方式对所述代码进行自动编译;

目标机器安装模块,用于将编译所得的镜像或模块自动安装到目标机器。

优选地,在本发明实施例提供的上述自动化编译安装装置中,所述系统构建模块采用make构建工具;所述make构建工具支持命令行和ui配置两种模式。

本发明实施例还提供了一种自动化编译安装设备,包括处理器和存储器,其中,所述处理器执行所述存储器中保存的计算机程序时实现如本发明实施例提供的上述自动化编译安装方法。

本发明实施例还提供了一种计算机可读存储介质,用于存储计算机程序,其中,所述计算机程序被处理器执行时实现如本发明实施例提供的上述自动化编译安装方法。

本发明所提供的一种自动化编译安装方法、装置、设备及存储介质,该方法包括:管理所开发的系统内代码资源,下载最新的代码;管理目标机器,查询出目标机器待安装系统的版本号;根据查询出的版本号确定所需要的编译方式,并根据确定的编译方式对代码进行自动编译;将编译所得的镜像或模块自动安装到目标机器。本申请可以自动编译出镜像或模块,并快速将编译所得的镜像或模块自动安装到所要安装的目标机器上,解决在大型系统编译和安装调试过程中所进行的繁琐人力的问题,节省大量的时间,使得构建和安装工作更加快捷,且方便系统的调试以及开发。

附图说明

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

图1为本发明实施例提供的自动化编译安装方法的流程图;

图2为本发明实施例提供的自动化编译安装装置的结构示意图。

具体实施方式

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

本发明提供一种自动化编译安装方法,如图1所示,包括以下步骤:

s101、管理所开发的系统内代码资源,下载最新的代码;

s102、管理目标机器,查询出目标机器待安装系统的版本号;

s103、根据查询出的版本号确定所需要的编译方式,并根据确定的编译方式对代码进行自动编译;

s104、将编译所得的镜像或模块自动安装到目标机器。

在本发明实施例提供的上述自动化编译安装方法中,首先下载最新的代码;然后查询出目标机器待安装系统的版本号;之后根据查询出的版本号确定所需要的编译方式,并根据确定的编译方式对代码进行自动编译;最后将编译所得的镜像或模块自动安装到目标机器。这样自动编译出镜像或模块,并快速将编译所得的镜像或模块自动安装到所要安装的目标机器上,可以解决在大型系统编译和安装调试过程中所进行的繁琐人力的问题,节省大量的时间,使得构建和安装工作更加快捷,且方便系统的调试以及开发。

在具体实施时,在本发明实施例提供的上述自动化编译安装方法中,步骤s101管理所开发的系统内的代码资源,具体可以包括:使用git分布式版本控制系统管理所开发的系统内的代码资源。较佳地,使用git分布式版本控制系统管理所开发的系统内的各种分支和代码权限,维护好各个分支的可用性。

在具体实施时,在本发明实施例提供的上述自动化编译安装方法中,如果是多个目标机器的情况下,各目标机器上安装的版本可能不是同一个版本,因此步骤s102查询出目标机器待安装系统的版本号,具体可以包括:当有多个目标机器时,确定目标机器是不是同一个版本;若否,则提出告警,可以继续执行,若选择继续执行,需要查询出所有目标机器中版本最老的目标机器待安装系统的版本号(也可以认为是需要按照最大的增量编译执行)。接下来根据查询的这个版本号进行下一步编译过程,确定编译方式。

进一步地,在具体实施时,在本发明实施例提供的上述自动化编译安装方法中,编译方式可以包括增量编译、全编译或选择性编译;默认的编译方式是增量编译。具体地,增量编译是只编译比上一次编译改变内容的模块;全编译是将系统完全编译一次;选择性编译是编译所选择的某几个模块。在编译过程中采用全编译,增量编译或选择性模块编译的特点,并且将编译的新内容自动安装到目标机器。在选择增量编译的时候可以自动识别是不是可以增量编译,需要编译哪些内容。

在具体实施时,在本发明实施例提供的上述自动化编译安装方法中,在执行步骤s103根据确定的编译方式对代码进行自动编译之后,还可以包括:将编译所得的镜像或模块上传至通用ftp服务器,并向目标机器发送通知信号。

进一步地,在具体实施时,在本发明实施例提供的上述自动化编译安装方法中,步骤s104将编译所得的镜像或模块自动安装到目标机器,具体可以包括:目标机器在接收到所述通知信号后,登录通用ftp服务器并下载编译所得的镜像或模块;将下载的编译所得的镜像或模块自动执行安装。

基于同一发明构思,本发明实施例还提供了一种自动化编译安装装置,由于该自动化编译安装装置解决问题的原理与前述一种自动化编译安装方法相似,因此该自动化编译安装装置的实施可以参见自动化编译安装方法的实施,重复之处不再赘述。

在具体实施时,本发明实施例提供的自动化编译安装装置,如图2所示,具体包括:

代码管理模块11,用于管理所开发的系统内代码资源,下载最新的代码;

目标机器管理模块12,用于管理目标机器,查询出目标机器待安装系统的版本号;

系统构建模块13,用于根据查询出的版本号确定所需要的编译方式,并根据确定的编译方式对代码进行自动编译;

目标机器安装模块14,用于将编译所得的镜像或模块自动安装到目标机器。

需要注意的是,代码管理模块可以采用git分布式版本控制系统来管理;系统构建模块可以采用make构建工具,该make构建工具支持命令行和ui配置两种模式,可以选择是否增量编译、全编译或选择性编译;缺省(默认)选择增量编译;目标机器管理模块在编译开始之前指定所要安装的目标机器,主要功能是管理目标机器,记录机器安装系统的版本号,记录机器安装的记录信息。

在本发明实施例提供的上述自动化编译安装装置中,通过上述四个模块的相互作用,能够自动化编译安装,可以应用在任何安装过程比较繁琐的研发测试过程,方便调试解放人力。

关于上述各个模块更加具体的工作过程可以参考前述实施例公开的相应内容,在此不再进行赘述。

相应的,本发明实施例还公开了一种自动化编译安装设备,包括处理器和存储器;其中,处理器执行存储器中保存的计算机程序时实现前述实施例公开的自动化编译安装方法。

关于上述方法更加具体的过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。

进一步的,本发明还公开了一种计算机可读存储介质,用于存储计算机程序;计算机程序被处理器执行时实现前述公开的自动化编译安装方法。

关于上述方法更加具体的过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备、存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

综上,本发明实施例提供的一种自动化编译安装方法、装置、设备及存储介质,该方法包括:管理所开发的系统内代码资源,下载最新的代码;管理目标机器,查询出目标机器待安装系统的版本号;根据查询出的版本号确定所需要的编译方式,并根据确定的编译方式对代码进行自动编译;将编译所得的镜像或模块自动安装到目标机器。本发明可以自动编译出镜像或模块,并快速将编译所得的镜像或模块自动安装到所要安装的目标机器上,解决在大型系统编译和安装调试过程中所进行的繁琐人力的问题,节省大量的时间,使得构建和安装工作更加快捷,且方便系统的调试以及开发。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的自动化编译安装方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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