替换测试环境配置信息的方法及装置与流程

文档序号:13236425阅读:395来源:国知局
替换测试环境配置信息的方法及装置与流程

本发明实施例涉及敏捷开发技术,尤其涉及一种替换测试环境配置信息的方法及装置。



背景技术:

随着敏捷开发的兴起和快速发展,企业为了快速响应用户需求,需要同时开发和测试多个版本的程序。这样就需要多套相互独立的测试环境来满足多版本的并行运行,一套测试环境涉及很多中间件如:数据库、缓存、mq(messagequeue,消息队列)等,这样程序发布到测试环境就需要修改对应的ip地址、用户名等等配置信息。

现有技术中,在修改不同测试环境有差异的配置信息时,一般做法是第一次部署时修改好配置文件然后备份配置到某个目录,后面发布程序时每次需要人工从对应目录拷贝过来。还有一种做法就是发布程序时永远不更新配置文件,有需要改的时候手动去改。这两种做法都依赖于人工进行修改,如果忘记修改,会导致程序异常,排查问题耗费大量时间。



技术实现要素:

有鉴于此,本发明实施例提供一种替换测试环境配置信息的方法及装置,以避免繁琐的人工修改配置。

第一方面,本发明实施例提供了一种替换测试环境配置信息的方法,所述方法包括:

在编译源码时,识别当前测试环境;

在编译源码成功后,生成相应的程序目录及对应的脚本文件;

在预先配置的测试环境的配置文件信息集中,获取所述当前测试环境的配置文件信息;

根据所述配置文件信息和所述程序目录,对所述脚本文件中的对应内容进行替换。

第二方面,本发明实施例还提供了一种替换测试环境配置信息的装置,所述装置包括:

环境识别模块,用于在编译源码时,识别当前测试环境;

程序生成模块,用于在编译源码成功后,生成相应的程序目录及对应的脚本文件;

配置信息获取模块,用于在预先配置的测试环境的配置文件信息集中,获取所述当前测试环境的配置文件信息;

配置信息替换模块,用于根据所述配置文件信息和所述程序目录,对所述脚本文件中的对应内容进行替换。

本发明实施例的技术方案,通过在编译源码时识别当前测试环境,在编译成功后生成相应的程序目录及对应的脚本文件,在预先配置的测试环境的配置文件信息集中获取当前测试环境的配置文件信息,根据配置文件信息和程序目录,对脚本文件中的对应内容进行替换,实现了自动替换脚本文件中的配置信息,避免了繁琐的人工修改配置。

附图说明

图1是本发明实施例一提供的一种替换测试环境配置信息的方法的流程图;

图2是本发明实施例提供的替换测试环境配置信息的方法中的配置的多个测试环境的整体框架图;

图3是本发明实施例提供的替换测试环境配置信息的方法中的不同测试环境具有差异的配置信息的示意图;

图4是本发明实施例二提供的一种替换测试环境配置信息的方法的流程图;

图5是本发明实施例三提供的一种替换测试环境配置信息的方法的流程图;

图6是本发明实施例四提供的一种替换测试环境配置信息的装置的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。

实施例一

图1是本发明实施例一提供的一种替换测试环境配置信息的方法的流程图,本实施例可适用于在发布程序时对测试环境的配置信息进行修正的情况,该方法可以由替换测试环境配置信息的装置来执行,该装置可以由软件和/或硬件来执行,一般可集成在服务器中,该服务器可以是配置于自动构建中心的服务器。如图2所示,在敏捷开发中,一般会配置多套测试环境,通过自动构建中心控制源码在每套测试环境上的编译及自动替换配置信息,图2中以3套测试环境为例。图2是本发明实施例提供的替换测试环境配置信息的方法中的配置的多个测试环境的整体框架图。

该方法具体包括如下步骤:

步骤110,在编译源码时,识别当前测试环境。

其中,一套测试环境一般包括应用服务器、数据库服务器和一些中间件(如缓存)服务器,敏捷开发中会需要多套相互不影响的测试环境来完成多个版本的程序的开发或测试。

用户预先配置好每套源码需要发布的测试环境,然后将该套源码发布到对应的测试环境中。在对源码进行发布时,首先需要对源码进行编译,在每套测试环境上编译源码时,先根据预先配置的源码对应发布的测试环境标识,识别当前测试环境,便于后续编译成功后,将测试环境的配置信息修改为当前测试环境的配置信息,从而可以成功发布源码对应的程序。

步骤120,在编译源码成功后,生成相应的程序目录及对应的脚本文件。

在编译源码时,可以使用自动构建工具(如jenkins等)进行编译,编译成功后,会生成相应的程序目录及对应的脚本文件。例如,java项目使用maven做项目管理时,编译成功会在源码目录下生成一个target目录。其中,maven项目对象模型(pom)可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。脚本是使用一种特定的描述性语言,依据一定的格式编写的可执行文件。

步骤130,在预先配置的测试环境的配置文件信息集中,获取所述当前测试环境的配置文件信息。

其中,配置文件信息集是对应所有测试环境的配置文件信息的集合,是用户提前配置的,将所有测试环境中需要修改的配置文件以及配置文件中需要修改的内容汇总在一起,在需要哪个测试环境的配置信息时,直接从该配置文件信息集中获取对应测试环境的配置文件信息即可。配置文件信息集中,各个测试环境的配置文件信息包括在该测试环境下具体的数据库ip地址、数据库用户名和密码及中间件的ip地址、中间件用户名和密码等。其中,一套测试环境一般包括应用服务器、数据库服务器和一些中间件(如缓存)服务器,敏捷开发中会需要多套相互不影响的测试环境。

其中,配置文件信息可以是文件名与需要替换内容块的集合,配置文件信息的结构例如:{文件名1:{“匹配需要被替换的内容1的正则”:”替换后的内容1”,”匹配需要被替换的内容2的正则”:”替换后的内容2”,……}……}。本领域技术人员可以理解,这里的配置文件信息的结构仅为举例,不限于这一种结构,还可以是其他结构。

根据当前测试环境的标识,查找配置文件信息集中对应当前测试环境的配置文件信息。

步骤140,根据所述配置文件信息和所述程序目录,对所述脚本文件中的对应内容进行替换。

配置文件信息中配置了对应当前测试环境需要修改的文件名及对应的文件内容,从而可以根据配置文件信息先在程序目录中查找是否存在需要修改的文件的文件名,在存在时再对照配置文件信息修改具有所述文件名的文件的对应内容,将所述文件中的内容替换为配置文件信息的对应内容。

图3是本发明实施例提供的替换测试环境配置信息的方法中的不同测试环境具有差异的配置信息的示意图,如图3所示,不同测试环境具有差异的配置信息包括ip地址、用户名(username)和密码(password)等,这些信息在具体测试环境中需要具体配置,图3中以涂掉的形式表示这些信息在不同测试环境中时需要另行配置。

本实施例的技术方案,通过在编译源码时识别当前测试环境,在编译成功后生成相应的程序目录及对应的脚本文件,在预先配置的测试环境的配置文件信息集中获取当前测试环境的配置文件信息,根据配置文件信息和程序目录,对脚本文件中的对应内容进行替换,实现了自动替换脚本文件中的配置信息,避免了繁琐的人工修改配置,避免了因配置错误等原因导致的程序异常的出现,能快速构建好多套服务环境,很好的支持了多版本并行开发的需求。

实施例二

图4是本发明实施例二提供的一种替换测试环境配置信息的方法的流程图,本实施例在上述实施例的基础上进行了优化,该方法具体包括如下步骤:

步骤210,在编译源码时,识别当前测试环境。

步骤220,在编译源码成功后,生成相应的程序目录及对应的脚本文件。

步骤230,在预先配置的测试环境的配置文件信息集中,获取所述当前测试环境的配置文件信息。

步骤240,根据所述配置文件信息和所述程序目录,对所述脚本文件中的对应内容进行替换。

步骤250,将替换对应内容后的脚本文件拷贝到指定目录,得到目标程序并启动。

刚编译成功得到的目标程序,在之前如果运行着对应的程序,则先停止该对应的程序,以避免程序出错,然后将替换对应内容后的脚本文件拷贝保存到指定目录下,启动得到的目标程序,完成目标程序的发布。其中,指定目录是用户提前指定的,可以是对应的程序所在的目录。

本实施例的技术方案,在上述实施例的基础上,通过将替换对应内容后的脚本文件拷贝到指定目录,得到目标程序并启动,完成了目标程序的发布,而且避免了开发人员把自己本地配置提交源码库影响程序运行。

实施例三

图5是本发明实施例三提供的一种替换测试环境配置信息的方法的流程图,本实施例在上述实施例的基础上进行了优化,对上述实施例中的“根据所述配置文件信息和所述程序目录,对所述脚本文件中的对应内容进行替换”进行了优化,该方法具体包括如下步骤:

步骤310,在编译源码时,识别当前测试环境。

步骤320,在编译源码成功后,生成相应的程序目录及对应的脚本文件。

步骤330,在预先配置的测试环境的配置文件信息集中,获取所述当前测试环境的配置文件信息。

步骤340,递归遍历所述程序目录,判断所述程序目录中的文件名与所述配置文件信息中的文件名是否匹配。

递归遍历程序目录,将程序目录中的文件名与配置文件信息中的文件名进行对比,判断程序目录中的文件名与配置文件信息中的文件名是否匹配,即判断程序目录中的文件名在配置文件信息中是否存在,如果存在,则说明程序目录中的文件名与配置文件信息中的文件名匹配。

步骤350,如果匹配,则利用所述配置文件信息中对应所述文件名的文件内容替换所述文件名对应的脚本文件中的内容。

如果匹配,则进一步查找具有该文件名的脚本文件具体需要修改替换的内容,通过将具有该文件名的脚本文件的内容与配置文件信息中对应该文件名的文件内容进行匹配,查找到脚本文件中需要修改替换的内容,并利用配置文件信息中对应该文件名的文件内容替换脚本文件中的内容。

其中,利用所述配置文件信息中对应所述文件名的文件内容替换所述文件名对应的脚本文件中的内容,包括:

判断所述文件名对应的脚本文件中是否包含所述配置文件信息中对应所述文件名的待替换内容;

如果包含,则利用所述配置文件信息中对应所述待替换内容的文件内容替换所述脚本文件中的待替换内容。

在程序目录中的文件名与配置文件信息中的文件名匹配时,先判断在匹配的文件名对应的脚本文件中是否包含配置文件信息中对应文件名的待替换内容,在包含时,利用配置文件信息中对应待替换内容的文件内容替换脚本文件中的待替换内容,如果不包含,则不用处理。通过判断可以快速找到待替换内容并进行替换。

本实施例的技术方案,通过递归遍历程序目录,判断程序目录中的文件名与配置文件信息中的文件名是否匹配,在匹配时,利用配置文件信息中对应所述文件名的文件内容替换所述文件名对应的脚本文件的内容,可以快速查找到需要替换的文件内容,并且通过递归遍历避免了遗漏。

实施例四

图6是本发明实施例四提供的一种替换测试环境配置信息的装置的结构示意图,如图6所示,本实施例所述的替换测试环境配置信息的装置包括:环境识别模块410、程序生成模块420、配置信息获取模块430和配置信息替换模块440。

其中,环境识别模块410,用于在编译源码时,识别当前测试环境;

程序生成模块420,用于在编译源码成功后,生成相应的程序目录及对应的脚本文件;

配置信息获取模块430,用于在预先配置的测试环境的配置文件信息集中,获取所述当前测试环境的配置文件信息;

配置信息替换模块440,用于根据所述配置文件信息和所述程序目录,对所述脚本文件中的对应内容进行替换。

可选的,还包括:

目标程序发布模块,用于在对所述脚本文件中的对应内容进行替换之后,将替换对应内容后的脚本文件拷贝到指定目录,得到目标程序并启动。

可选的,所述配置信息替换模块包括:

递归遍历单元,用于递归遍历所述程序目录,判断所述程序目录中的文件名与所述配置文件信息中的文件名是否匹配;

配置信息替换单元,用于如果匹配,则利用所述配置文件信息中对应所述文件名的文件内容替换所述文件名对应的脚本文件中的内容。

可选的,所述配置信息替换单元具体用于:

如果匹配,则判断所述文件名对应的脚本文件中是否包含所述配置文件信息中对应所述文件名的待替换内容;

如果包含,则利用所述配置文件信息中对应所述待替换内容的文件内容替换所述脚本文件中的待替换内容。

上述替换测试环境配置信息的装置可执行本发明任意实施例所提供的替换测试环境配置信息的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的替换测试环境配置信息的方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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