基于软件代码进行模块自动构建的系统及方法与流程

文档序号:12946613阅读:164来源:国知局
基于软件代码进行模块自动构建的系统及方法与流程

本发明涉及软件存储及自动化构建领域,尤其涉及软件代码的模块构建领域,具体是指一种基于软件代码进行模块自动构建的系统及方法。



背景技术:

随着软件行业的蓬勃发展,对于软件的质量要求也越来越高,所以,大部分时间会采用实时构建的方式检查提交的软件代码的质量,但是由于一个软件项目中包含众多的功能模块,且这些功能模块之间存在着各种各样的依赖关系,这就导致在自动构建时,往往需要下载并编译被构建目标依赖的所有功能模块,占用硬盘空间大不说,还耗费很长时间。特别是在服务器性能有限的情况下,就无法在代码提交后做到快速的实时构建,也就无法及时发现软件的代码问题,从而导致增加后续软件测试时的工作难度和工作量,拖延整个项目的交付时间。



技术实现要素:

本发明的目的是克服了上述现有技术的缺点,提供了一种在一定程度上解决每次构建软件代码时耗费时间长,占用空间大的问题的基于软件代码进行模块自动构建的系统及方法。

为了实现上述目的,本发明的基于软件代码进行模块自动构建的系统及方法具体如下:

该基于软件代码进行模块自动构建的系统,其主要特点是,所述的系统包括一自动构建服务器和一代码服务器,所述的代码服务器与所述的自动构建服务器相连接,且所述的自动构建服务器用以获取用户提交的模块的修改代码,并通过一自动构建平台对模块的修改代码进行分析和模块构建,所述的代码服务器用以存放模块和模块构建后生成的目标文件,所述的自动构建服务器还将构建的模块及生成的目标文件存放至所述的代码服务器。

较佳地,所述的自动构建平台通过扫描分析该模块的修改代码获取该模块的修改代码的配置文件,并根据配置文件对模块的修改代码进行模块构建和目标文件的生成。

更佳地,所述的配置文件中包括模块的修改代码所依赖的所有模块进行构建后生成的目标文件的路径信息、版本号、构建模块的存放路径、模块的编译信息、模块负责人的邮箱地址以及提交模块的修改代码的作者的邮箱地址。

尤佳地,所述的自动构建平台获取模块的修改代码的配置文件,通过扫描分析获取该模块的修改代码所依赖的所有模块的目标文件的路径信息和版本号,并根据路径信息和版本号下载该模块的修改代码所依赖的所有模块的目标文件。

上述基于软件代码进行模块自动构建的系统实现模块自动构建方法,其主要特点是,所述的方法包括以下步骤:

(1)用户将该模块的修改代码上传至自动构建服务器,触发自动构建过程;

(2)所述的自动构建服务器通过自动构建平台对模块的修改代码进行分析和模块构建,并将构建好的模块及其生成文件存放至所述的代码服务器。

所述的步骤(2)包括以下步骤:

(2.1)所述的自动构建平台获取所述的模块的修改代码的配置文件中所依赖的所有模块的目标文件的路径信息和版本号;

(2.2)根据获取的路径信息和版本号下载指定版本的所依赖的所有模块的目标文件;

(2.3)分析下载的所依赖的所有模块的目标文件的配置文件,从中获取所依赖的所有模块的目标文件的路径信息、版本号,并继续步骤(2.2),直至所述的模块的修改代码所依赖的所有模块的目标文件的配置文件中指定的依赖目标全部被下载完成;

(2.4)所述的自动构建平台进行自动化构建,且所述的自动化构建平台将构建的模块及其目标文件上传至代码服务器。

甚佳地,所述的模块的修改代码的配置文件中还包括构建模块的存放路径,所述的自动化构建平台根据所述的模块的修改代码的配置文件中包含的构建模块的存放路径将构成的模块以及目标文件上传至代码服务器的指定存放位置。

尤佳地,所述的步骤(2)后还包括以下步骤:

(3)所述的自动化构建平台判断此次模型构建是否成功,如失败,则所述的自动化构建平台向用户反馈该次失败;若成功,则向用户反馈该次成功。

甚佳地,所述的自动化构建平台向用户反馈该次失败/成功具体为:

所述的自动化构建平台获取模块的修改代码的配置文件中包含的模块负责人邮箱地址和提交模块的修改代码的作者的邮箱地址,并将构建失败/成功的详细信息发送至模块负责人邮箱地址和提交模块的修改代码的作者的邮箱地址。

采用了该发明的基于软件代码进行模块自动构建的系统及方法,由于在自动构建时,被构建目标所依赖模块的目标文件在之前自身被自动构建时,已经被构建成了目标文件,所以在此次自动构建时,已经不需要再次构建,只需要构建此次的目标代码,不仅节约了自动构建平台的磁盘空间,更大大的缩短了模块代码提交所触发的自动构建消耗的时间,从而更加的容易在性能不突出的服务器上实现实时自动构建。

附图说明

图1为本发明的基于软件代码进行模块自动构建的系统中代码服务器与自动构建服务器的连接关系示意图。

图2为本发明的基于软件代码进行模块自动构建的系统实现模块自动构建的步骤流程图。

具体实施方式

为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。

在详细说明根据本发明的实施例前,应该注意到的是,所述实施例主要在于与室内无线导航有关的方法步骤和设备组件的组合。因此,所属设备组件和方法步骤已经在附图中通过常规符号在适当的位置表示出来了,并且只示出了与理解本发明的实施例有关的细节,以免因对于得益于本发明的本领域普通技术人员而言显而易见的那些细节而模糊了本公开内容。

请参阅图1,该基于软件代码进行模块自动构建的系统,包括一自动构建服务器和一代码服务器,所述的代码服务器与所述的自动构建服务器相连接,且所述的自动构建服务器用以获取用户提交的模块的修改代码,并通过一自动构建平台对模块的修改代码进行分析和模块构建,所述的代码服务器用以存放模块和模块构建后生成的目标文件,所述的自动构建服务器还将构建的模块及生成的目标文件存放至所述的代码服务器。

在一种较佳的实施例中,所述的自动构建平台通过扫描分析该模块的修改代码获取该模块的修改代码的配置文件,并根据配置文件对模块的修改代码进行模块构建和目标文件的生成。

在一种更佳的实施例中,所述的配置文件中包括模块的修改代码所依赖的所有模块进行构建后生成的目标文件的路径信息、版本号、构建模块的存放路径、模块的编译信息、模块负责人的邮箱地址以及提交模块的修改代码的作者的邮箱地址。

在一种尤佳的实施例中,所述的自动构建平台获取模块的修改代码的配置文件,通过扫描分析获取该模块的修改代码所依赖的所有模块的目标文件的路径信息和版本号,并根据路径信息和版本号下载该模块的修改代码所依赖的所有模块的目标文件。

请参阅图2,上述基于软件代码进行模块自动构建的系统实现模块自动构建方法包括以下步骤:

(1)用户将该模块的修改代码上传至自动构建服务器,触发自动构建过程;

(2)所述的自动构建服务器通过自动构建平台对模块的修改代码进行分析和模块构建,并将构建好的模块及其生成文件存放至所述的代码服务器。

所述的步骤(2)包括以下步骤:

(2.1)所述的自动构建平台获取所述的模块的修改代码的配置文件中所依赖的所有模块的目标文件的路径信息和版本号;

(2.2)根据获取的路径信息和版本号下载指定版本的所依赖的所有模块的目标文件;

(2.3)分析下载的所依赖的所有模块的目标文件的配置文件,从中获取所依赖的所有模块的目标文件的路径信息、版本号,并继续步骤(2.2),直至所述的模块的修改代码所依赖的所有模块的目标文件的配置文件中指定的依赖目标全部被下载完成;

(2.4)所述的自动构建平台进行自动化构建,且所述的自动化构建平台将构建的模块及其目标文件上传至代码服务器。

在一种甚佳的实施例中,所述的模块的修改代码的配置文件中还包括构建模块的存放路径,所述的自动化构建平台根据所述的模块的修改代码的配置文件中包含的构建模块的存放路径将构成的模块以及目标文件上传至代码服务器的指定存放位置。

在一种尤佳的实施例中,所述的步骤(2)后还包括以下步骤:

(3)所述的自动化构建平台判断此次模型构建是否成功,如失败,则所述的自动化构建平台向用户反馈该次失败;若成功,则向用户反馈该次成功。

在一种甚佳的实施例中,所述的自动化构建平台向用户反馈该次失败/成功具体为:

所述的自动化构建平台获取模块的修改代码的配置文件中包含的模块负责人邮箱地址和提交模块的修改代码的作者的邮箱地址,并将构建失败/成功的详细信息发送至模块负责人邮箱地址和提交模块的修改代码的作者的邮箱地址。

在一种具体实施方式中,首先,在存储代码的代码管理服务器上,代码的存储需要按模块区分,不同的模块放在不同的工程中,并且在模块的配置文件中,需要指明此模块所依赖的所有其他模块在构建后生成的目标文件的路径信息、版本号、此模块的编译信息、模块负责人邮箱地址等相关信息。自动构建平台将会根据配置文件中的这些信息完成针对此模块的自动构建,通过软件代码的模块化存储,以及所依赖模块的身份信息,使代码在自动构建模块时,能够只构建指定数量的模块,且软件代码及构建生成的目标文件按模块分别存储,保证各个模块所依赖的模块的身份信息正确,自动构建服务器在构建指定的模块时,能够正确读取这些模块所依赖模块的身份信息配置文件,并正确的下载依赖目标。

进行模块构建时包括以下步骤:

(1)当针对模块的修改代码上传自动构建服务器后,将会触发实时的自动构建程序,所述的自动构建服务器中的自动构建平台会根据提交信息,自动下载此模块的代码,扫描此模块的配置文件,从中获取所依赖的所有模块的目标文件的路径信息、版本号;

(2)根据获取的目标文件路径信息及版本号,到指定的代码服务器自动下载指定版本的依赖目标;

(3)再次扫描下载的所有被依赖目标文件的配置文件,从中获取所有被依赖的目标文件的路径信息、版本号,重复步骤(2);

(4)当自动构建平台下载的所有目标文件的配置文件中指定的依赖目标全部被下载完成后,根据触发自动构建动作的代码提交中模块的修改代码的配置信息,开始自动化构建;

(5)如果构建失败,将会向配置文件中的模块负责人邮箱地址和此次提交的作者的邮箱地址发送构建失败的详细信息;

(6)构建成功后,根据配置文件中指定的构建生成目标文件的存放路径,将生成的目标文件上传至指定路径的代码服务器上,以备依赖此目标文件的其他模块自动构建时使用,同时向配置文件中的模块负责人邮箱地址和此次提交的作者的邮箱地址发送构建成功的详细信息。

采用了该发明的基于软件代码进行模块自动构建的系统及方法,由于在自动构建时,被构建目标所依赖模块的目标文件在之前自身被自动构建时,已经被构建成了目标文件,所以在此次自动构建时,已经不需要再次构建,只需要构建此次的目标代码,不仅节约了自动构建平台的磁盘空间,更大大的缩短了模块代码提交所触发的自动构建消耗的时间,从而更加的容易在性能不突出的服务器上实现实时自动构建。

在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

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