CN109840194A - 一种配置文件的检测方法及系统 - Google Patents
一种配置文件的检测方法及系统 Download PDFInfo
- Publication number
- CN109840194A CN109840194A CN201711215569.XA CN201711215569A CN109840194A CN 109840194 A CN109840194 A CN 109840194A CN 201711215569 A CN201711215569 A CN 201711215569A CN 109840194 A CN109840194 A CN 109840194A
- Authority
- CN
- China
- Prior art keywords
- configuration file
- branch
- modification information
- code
- test
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种配置文件的检测方法及系统,其中,所述方法包括:当开发阶段分支中的代码调试完成时,记录所述开发阶段分支中发生变更的配置文件;将调试完成的代码以及所述发生变更的配置文件合并至测试阶段分支中,并记录所述测试阶段分支对应的第一配置文件变更信息;当部署指定运行环境时,从所述指定运行环境对应的配置文件分支中获取最近一次记载的第二配置文件变更信息,并将所述第二配置文件变更信息与所述第一配置文件变更信息进行比对;当所述第二配置文件变更信息与所述第一配置文件变更信息不一致时,发出检测错误提示。本申请提供的技术方案,能够提高配置文件的使用效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种配置文件的检测方法及系统。
背景技术
在当前的软件研发过程中,通常涉及在不同的部署环境中对软件的代码进行测试的情况。在不同的部署环境中,代码中的环境变量、程序运行的特定变量等也通常不同。为了在不同的部署环境中能够正常运行软件的代码,需要针对不同的部署环境对代码的配置文件进行更改。
目前,一个软件项目通常可以由一个或者多个团队同时进行研发。这样,每研发一个新的功能,通常都需要对配置文件针对该功能的部署环境进行更新。为了保证开发不同功能时保持配置文件的统一,在研发过程中通常会严格进行配置文件的交接。
然而,通过人工交接的方式管理配置文件,难免会由于疏忽而导致配置文件不统一,并且不同的部署环境对应的配置文件也不同,无法有效地区分不同部署环境下的配置文件。因此,当前亟需一种能够检测配置文件的方法,以提高配置文件的使用效率。
发明内容
本申请的目的在于提供一种配置文件的检测方法及系统,能够提高配置文件的使用效率。
为实现上述目的,本申请一方面提供一种配置文件的检测方法,所述方法包括:当开发阶段分支中的代码调试完成时,记录所述开发阶段分支中发生变更的配置文件;将所述调试完成的代码以及所述发生变更的配置文件合并至测试阶段分支中,并记录所述测试阶段分支对应的第一配置文件变更信息;当部署指定运行环境时,从所述指定运行环境对应的配置文件分支中获取最近一次记载的第二配置文件变更信息,并将所述第二配置文件变更信息与所述第一配置文件变更信息进行比对;当所述第二配置文件变更信息与所述第一配置文件变更信息不一致时,发出检测错误提示。
进一步地,记录所述开发阶段分支中发生变更的配置文件包括:部署开发测试环境,并在所述开发测试环境中调试所述开发阶段分支中的代码;当调试过程中发生配置文件变更时,记录发生变更的配置文件。
进一步地,所述开发阶段分支中包括指定数量的存储目录,所述存储目录与配置文件的类型相关联;相应地,在记录所述开发阶段分支中发生变更的配置文件之后,所述方法还包括:确定所述发生变更的配置文件的目标类型,并将所述发生变更的配置文件写入与所述目标类型相关联的存储目录下。
进一步地,当所述第二配置文件变更信息与所述第一配置文件变更信息一致时,所述方法还包括:读取所述测试阶段分支中的代码和配置文件,并读取所述配置文件分支中的配置文件;利用所述配置文件分支中的配置文件替换所述测试阶段分支中的配置文件,并将所述代码和替换后的配置文件在所述指定运行环境中进行部署。
进一步地,所述方法还包括:当所述代码和替换后的配置文件在所述指定运行环境中通过测试后,记录所述配置文件分支当前的版本标识以及与所述版本标识相对应的第二配置文件变更信息。
进一步地,所述指定运行环境为质量保证环境;相应地,所述方法还包括:当部署试运行测试环境时,读取所述试运行测试环境对应的配置文件分支中最近一次记载的第三配置文件变更信息;将所述第三配置文件变更信息与所述第二配置文件变更信息进行比对;当所述第三配置文件变更信息与所述第二配置文件变更信息不一致时,发出检测错误提示。
进一步地,所述方法还包括:当所述第三配置文件变更信息与所述第二配置文件变更信息一致时,读取所述测试阶段分支中的代码和配置文件,并读取所述试运行测试环境对应的配置文件分支中的配置文件;利用所述试运行测试环境对应的配置文件分支中的配置文件替换所述测试阶段分支中的配置文件,并将所述代码和替换后的配置文件在所述试运行测试环境中进行部署;当所述代码和替换后的配置文件在所述试运行测试环境中通过测试后,记录所述试运行测试环境对应的配置文件分支当前的版本标识以及与所述版本标识相对应的第三配置文件变更信息。
进一步地于,所述方法还包括:当部署上线运行环境时,读取所述上线运行环境对应的配置文件分支中最近一次记载的第四配置文件变更信息;将所述第四配置文件变更信息与所述第三配置文件变更信息进行比对;当所述第四配置文件变更信息与所述第三配置文件变更信息不一致时,发出检测错误提示。
进一步地,所述方法还包括:当所述第四配置文件变更信息与所述第三配置文件变更信息一致时,读取所述测试阶段分支中的代码和配置文件,并读取所述上线运行环境对应的配置文件分支中的配置文件;利用所述上线运行环境对应的配置文件分支中的配置文件替换所述测试阶段分支中的配置文件,并将所述代码和替换后的配置文件在所述上线运行环境中进行部署;当所述代码和替换后的配置文件在所述上线运行环境中通过测试后,记录所述上线运行环境对应的配置文件分支当前的版本标识以及与所述版本标识相对应的第四配置文件变更信息。
进一步地,所述方法还包括:接收上线成功的通知,响应于所述通知向所述测试阶段分支发送覆盖指令,以使得所述测试阶段分支将代码覆盖到上线阶段分支中。
进一步地,在所述配置文件分支中设置指定目录,所述指定目录中包括指定数量的存储路径,所述存储路径与机房相关联其中,部署于所述机房中的配置文件被存放于所述机房关联的存储路径下。
为实现上述目的,本申请还提供一种配置文件的检测系统,所述系统包括:配置文件变更记录单元,用于当开发阶段分支中的代码调试完成时,记录所述开发阶段分支中发生变更的配置文件;合并单元,用于将所述调试完成的代码以及所述发生变更的配置文件合并至测试阶段分支中,并记录所述测试阶段分支对应的第一配置文件变更信息;环境部署单元,用于当部署指定运行环境时,从所述指定运行环境对应的配置文件分支中获取最近一次记载的第二配置文件变更信息,并将所述第二配置文件变更信息与所述第一配置文件变更信息进行比对;检测提示单元,用于当所述第二配置文件变更信息与所述第一配置文件变更信息不一致时,发出检测错误提示。
进一步地,所述系统还包括:数据读取单元,用于当所述第二配置文件变更信息与所述第一配置文件变更信息一致时,读取所述测试阶段分支中的代码和配置文件,并读取所述配置文件分支中的配置文件;替换单元,用于利用所述配置文件分支中的配置文件替换所述测试阶段分支中的配置文件,并将所述代码和替换后的配置文件在所述指定运行环境中进行部署。
进一步地,所述系统还包括:信息记录单元,用于当所述代码和替换后的配置文件在所述指定运行环境中通过测试后,记录所述配置文件分支当前的版本标识以及与所述版本标识相对应的第二配置文件变更信息。
由上可见,软件中的代码可以在开发阶段分支中完成调试,在调试的过程中,可能会发生变更的配置文件。该变更的配置文件例如可以是配置文件的增、删、改操作。在发生配置变更时,可以记录这些发生变更的配置文件。这样,调试完成的代码以及发生变更的配置文件便可以合并至测试阶段分支中,该测试阶段分支中的代码和配置文件可以作为部署环境的基础。在开发阶段分支中的数据合并至测试阶段分支中时,可以对比开发阶段分支和测试阶段分支中的配置文件,并在合并之后记录第一配置文件变更信息,该第一配置文件变更信息可以表征合并之后所述测试阶段分支中发生更改的配置文件。在后续部署指定运行环境时,该指定运行环境可以与配置文件分支相对应,该配置文件分支可以专门用于存储所述指定运行环境下的配置文件,并且在所述指定运行环境中的配置文件发生更改时,该配置文件分支中会记录相应的配置文件变更信息。这样,如果在开发阶段分支中产生了变更的配置文件,那么该变更的配置文件也应当同步至所述配置文件分支中,从而在配置文件分支中应当具备该变更的配置文件对应的配置文件变更信息。但是,在实际操作中,该同步过程很可能会发生错误或者根本就没有发生,这就会导致配置文件分支中不具备该变更的配置文件对应的配置文件变更信息。在这种情况下,当部署指定运行环境时,可以从所述指定运行环境对应的配置文件分支中获取最近一次记载的第二配置文件变更信息。当所述第二配置文件变更信息与所述第一配置文件变更信息不一致时,则表明该配置文件分支中的配置文件没有及时进行更新,从而可以发出检测错误提示。工作人员便可以基于该提示排查错误原因,以对该配置文件分支中的配置文件进行调整。由上可见,本申请提供的技术方案,能够有效地检测配置文件是否正常进行了同步更新,如果没有同步更新,可以及时做出调整。这样,在不同的部署环境中使用配置文件时,便可以提升配置文件的使用效率,而不会因为配置文件与部署环境不匹配而无法运行代码。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一中配置文件的检测方法流程图;
图2是本发明实施例一中以Git系统为例的环境部署的示意图;
图3是本发明实施例二中配置文件的检测系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
请参阅图1,本申请提供一种配置文件的检测方法,所述方法可以包括以下步骤。
S1:当开发阶段分支中的代码调试完成时,记录所述开发阶段分支中发生变更的配置文件。
在本实施方式中,软件研发过程中的代码和配置文件可以按照研发阶段进行归类存放。具体地,可以设置三个用于存放代码和配置文件的分支:开发阶段分支、测试阶段分支以及上线阶段分支。以分布式版本控制系统Git为例,可以设置feature分支、develop分支以及master分支,其中,所述feature分支可以用于存放开发阶段的代码和配置文件,develop分支可以用于存放测试阶段的代码和配置文件,master分支可以存放上线阶段的代码和配置文件。
在本实施方式中,上述各个分支中可以设置指定数量的存储目录,其中,所述存储目录可以按照配置文件的类型进行设定。例如,所述开发阶段分支中可以包括存放定时任务相关文件的目录、存放数据库相关SQL文件的目录、存放导入至第三方平台系统的相关数据字典以及资源相关的XML文件的目录、存放Nginx相关配置文件的目录等等。这样,上述分支内的配置文件便可以按照设置的存储目录进行有序存储。
此外,在本实施方式中,还可以额外设置配置文件库,该配置文件库中可以根据部署环境的不同,划分多个配置文件分支。其中,配置文件分支可以与部署环境相关联。所述配置文件分支可以专门用于存放相关联的部署环境中所需的配置文件。具体地,上述的部署环境可以分为质量保证环境,试运行测试环境以及上线运行环境。在实际应用场景中,以Git为例,所述质量保证环境可以是QA(Quality Assurance,质量保证)环境,所述时运行测试环境可以是stage环境,所述上线运行环境可以是生产环境。具体地,可以构建Git仓库,在该Git仓库中可以包括dev分支、stage分支以及master分支。其中,dev分支可以用于存放QA环境中的配置文件,stage分支可以用于存放stage环境中的配置文件,master分支可以用于存放生产环境中的配置文件。后续在各个部署环境中进行配置文件的迭代时,上述的dev分支、stage分支以及master分支始终迭代对应部署环境的配置文件,从而将不同部署环境的配置文件进行区分。其中,每次对各个配置文件分支进行配置文件迭代时,可以记录对应的配置文件变更信息,以通过该配置文件变更信息表征当前进行迭代的配置文件。
在本实施方式中,在所述开发阶段分支中可以调试软件的代码,以实现软件中的各种功能。在代码调试过程中,可能会发生配置文件的变更。在这种情况下,在代码调试完成之后,可以记录所述开发阶段分支中发生变更的配置文件。具体地,可以部署开发测试环境,并在所述开发测试环境中调试所述开发阶段分支中的代码。当调试过程中发生配置文件变更时,记录发生变更的配置文件。这些发生变更的配置文件可以同步至Git仓库中的dev分支、stage分支以及master分支中,从而实现配置文件的同步更新。但是,在实际应用过程中,可能会导致在开发阶段分支中发生变更的配置文件没有同步写入Git仓库的dev分支、stage分支以及master分支中,从而在针对不同的部署环境时,需要检测当前的配置文件是否为最新的配置文件。
在本实施方式中,由于所述开发阶段分支中可以包括指定数量的存储目录,所述存储目录可以与配置文件的类型相关联。这样,在记录所述开发阶段分支中发生变更的配置文件之后,可以确定发生变更的配置文件的目标类型,并将所述发生变更的配置文件写入与所述目标类型相关联的存储目录下,从而实现对配置文件的归类存储。
S2:将所述调试完成的代码以及所述发生变更的配置文件合并至测试阶段分支中,并记录所述测试阶段分支对应的第一配置文件变更信息。
在本实施方式中,当开发阶段分支中的代码调试完成后,可以将调试完成的代码以及发生变更的配置文件均合并至测试阶段分支中。在合并前后,可以将测试阶段分支中的配置文件进行对比,从而可以记录所述测试阶段分支对应的第一配置文件变更信息。所述第一配置文件变更信息可以表征在合并前后所述测试阶段分支中发生变更的配置文件。
S3:当部署指定运行环境时,从所述指定运行环境对应的配置文件分支中获取最近一次记载的第二配置文件变更信息,并将所述第二配置文件变更信息与所述第一配置文件变更信息进行比对。
S4:当所述第二配置文件变更信息与所述第一配置文件变更信息不一致时,发出检测错误提示。
在本实施方式中,所述测试阶段分支中的代码和配置文件可以作为部署环境的基础。具体地,在部署指定运行环境时,可以从所述指定运行环境对应的配置文件分支中获取最近一次记载的第二配置文件变更信息,所述第二配置文件变更信息可以用于表征所述指定运行环境对应的配置文件分支中最后一次发生变更的配置文件。在实际应用场景中,所述指定运行环境可以是质量保证(QA)环境。这样,可以将所述第二配置文件变更信息与所述第一配置文件变更信息进行比对。当所述第二配置文件变更信息与所述第一配置文件变更信息一致时,则表明所述指定运行环境对应的配置文件分支中最后一次发生变更的配置文件与所述测试阶段分支中发生变更的配置文件相同,从而可以正常进行指定运行环境的部署。具体地,在部署所述指定运行环境时,可以读取所述测试阶段分支中的代码和配置文件,并读取所述配置文件分支中的配置文件。然后,为了使得配置文件能够适用于所述指定运行环境,可以利用所述配置文件分支中的配置文件替换所述测试阶段分支中的配置文件,从而可以将所述代码和替换后的配置文件在所述指定运行环境中进行部署。在完成部署之后,便可以开始测试过程,当所述代码和替换后的配置文件在所述指定运行环境中通过测试后,便可以记录所述配置文件分支当前的版本标识以及与所述版本标识相对应的第二配置文件变更信息,该版本标识和第二配置文件变更信息可以作为完成配置文件检测的备份数据,以方便以后对本次检测过程进行校验。
然而,如果所述第二配置文件变更信息与所述第一配置文件变更信息不一致,则表明开发阶段分支中进行合并操作时发生变更的配置文件没有同步至指定运行环境对应的配置文件分支中,此时可以发出检测错误提示。该检测错误提示可以被提供给开发人员,开发人员从而可以根据所述第一配置文件变更信息,在所述指定运行环境对应的配置文件分支中同步调整对应的配置文件。在调整之后,可以在所述指定运行环境对应的配置文件分支中生成对应的配置文件变更信息。这样便可以保证所述指定运行环境对应的配置文件分支中最后一次发生变更的配置文件与所述第一配置文件变更信息表征的配置文件相同,从而可以正常部署所述指定运行环境。
具体地,请参阅图2,以Git系统为例,可以依次进行QA环境部署、stage环境部署以及生产环境部署。在进行QA环境部署时,可以从develop分支中获取第一配置文件变更信息,并从dev分支中获取第二配置文件变更信息。当这两个配置文件变更信息相一致时,可以从develop分支中读取代码和配置文件,并从dev分支中读取配置文件,此时,可以用dev分支中读取的配置文件替换develop分支中读取的配置文件,从而使得当前的配置文件适用于QA环境。后续在通过测试后,便可以记录dev分支的当前版本号以及对应的最后一次的配置文件变更信息。
在一个实施方式中,当所述指定运行环境为质量保证环境时,后续还可以进行试运行测试环境的部署。类似的,当部署试运行测试环境时,可以读取所述试运行测试环境对应的配置文件分支中最近一次记载的第三配置文件变更信息。由于所述试运行测试环境是在质量保证环境之后进行部署的,从而可以将所述第三配置文件变更信息与所述第二配置文件变更信息进行比对。若两个配置文件变更信息一致,则表明在质量保证环境和试运行测试环境对应的配置文件分支中,配置文件都进行了同步变更,这样便可以开始部署试运行测试环境。
具体地,可以读取所述测试阶段分支中的代码和配置文件,并读取所述试运行测试环境对应的配置文件分支中的配置文件。为了使得配置文件能够与所述试运行测试环境相匹配,可以利用所述试运行测试环境对应的配置文件分支中的配置文件替换所述测试阶段分支中的配置文件,并将所述代码和替换后的配置文件在所述试运行测试环境中进行部署。这样,当所述代码和替换后的配置文件在所述试运行测试环境中通过测试后,可以记录所述试运行测试环境对应的配置文件分支当前的版本标识以及与所述版本标识相对应的第三配置文件变更信息,以留作后续校验的依据。
此外,当所述第三配置文件变更信息与所述第二配置文件变更信息不一致时,同样可以发出检测错误提示,以使得开发人员手动对试运行测试环境对应的配置文件分支中的配置文件进行同步变更。
请参阅图2,以Git系统为例,在进行stage环境部署时,可以从dev分支中获取第二配置文件变更信息,并从stage分支中获取第三配置文件变更信息。当这两个配置文件变更信息相一致时,可以从develop分支中读取代码和配置文件,并从stage分支中读取配置文件,此时,可以用stage分支中读取的配置文件替换develop分支中读取的配置文件,从而使得当前的配置文件适用于stage环境。后续在通过测试后,便可以记录stage分支的当前版本号以及对应的最后一次的配置文件变更信息。
此外,在试运行测试环境之后,还可以进行上线运行环境的部署。具体地,当部署上线运行环境时,可以读取所述上线运行环境对应的配置文件分支中最近一次记载的第四配置文件变更信息。由于所述上线运行环境是在试运行测试环境之后进行部署的,从而可以将所述第四配置文件变更信息与所述第三配置文件变更信息进行比对。当两者一致时,可以读取所述测试阶段分支中的代码和配置文件,并读取所述上线运行环境对应的配置文件分支中的配置文件。为了使得配置文件适用于上线运行环境中,可以利用所述上线运行环境对应的配置文件分支中的配置文件替换所述测试阶段分支中的配置文件,并将所述代码和替换后的配置文件在所述上线运行环境中进行部署。当所述代码和替换后的配置文件在所述上线运行环境中通过测试后,可以接收上线成功的通知,响应于所述通知可以向所述测试阶段分支发送覆盖指令,以使得所述测试阶段分支将代码覆盖到上线阶段分支中。此外,同样可以记录所述上线运行环境对应的配置文件分支当前的版本标识以及与所述版本标识相对应的第四配置文件变更信息,以作为后续校验的依据。
请参阅图2,以Git系统为例,在进行生产环境部署时,可以从master分支中获取第四配置文件变更信息,并从stage分支中获取第三配置文件变更信息。当这两个配置文件变更信息相一致时,可以从develop分支中读取代码和配置文件,并从master分支中读取配置文件,此时,可以用master分支中读取的配置文件替换develop分支中读取的配置文件,从而使得当前的配置文件适用于生产环境。后续在通过测试后,可以接收上线成功的通知,响应于所述通知可以向所述develop分支发送覆盖指令,以使得所述develop分支将代码覆盖到master分支中。此外,同样可以记录所述生产环境对应的master分支当前的版本号以及与所述版本号相对应的第四配置文件变更信息,以作为后续校验的依据。
需要说明的是,上述涉及两个master分支,但这两个master分支实现的功能却是不同的。其中,作为生产环境对应的配置文件分支的master分支中可以始终存放生产环境中的配置文件;而作为将develop分支发来的代码覆盖自身代码的master分支而言,主要是存储线上环境中的代码和配置文件,两者的功能不同的。
在一个实施方式中,考虑到在实际应用场景中,通常可能有不同的机房来部署不同的环境。那么不同的机房所需读取的配置文件就会不同。那么为了使得不同的机房能够快速准确地获取到所需的配置文件,可以在各个所述配置文件分支中设置指定目录,所述指定目录中包括指定数量的存储路径,所述存储路径与机房相关联,其中,部署于所述机房中的配置文件可以被存放于所述机房关联的存储路径下。这样,当机房需要读取配置文件时,可以预先确定自身关联的存储路径,然后可以从该存储路径下读取相应的配置文件即可。
实施例二
请参阅图3,本申请还提供一种配置文件的检测系统,所述系统包括:
配置文件变更记录单元100,用于当开发阶段分支中的代码调试完成时,记录所述开发阶段分支中发生变更的配置文件;
合并单元200,用于将所述调试完成的代码以及所述发生变更的配置文件合并至测试阶段分支中,并记录所述测试阶段分支对应的第一配置文件变更信息;
环境部署单元300,用于当部署指定运行环境时,从所述指定运行环境对应的配置文件分支中获取最近一次记载的第二配置文件变更信息,并将所述第二配置文件变更信息与所述第一配置文件变更信息进行比对;
检测提示单元400,用于当所述第二配置文件变更信息与所述第一配置文件变更信息不一致时,发出检测错误提示。
在一个实施方式中,所述系统还包括:
数据读取单元,用于当所述第二配置文件变更信息与所述第一配置文件变更信息一致时,读取所述测试阶段分支中的代码和配置文件,并读取所述配置文件分支中的配置文件;
替换单元,用于利用所述配置文件分支中的配置文件替换所述测试阶段分支中的配置文件,并将所述代码和替换后的配置文件在所述指定运行环境中进行部署。
在一个实施方式中,所述系统还包括:
信息记录单元,用于当所述代码和替换后的配置文件在所述指定运行环境中通过测试后,记录所述配置文件分支当前的版本标识以及与所述版本标识相对应的第二配置文件变更信息。
以上所描述的系统仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
由上可见,软件中的代码可以在开发阶段分支中完成调试,在调试的过程中,可能会发生变更的配置文件。该变更的配置文件例如可以是配置文件的增、删、改操作。在发生配置变更时,可以记录这些发生变更的配置文件。这样,调试完成的代码以及发生变更的配置文件便可以合并至测试阶段分支中,该测试阶段分支中的代码和配置文件可以作为部署环境的基础。在开发阶段分支中的数据合并至测试阶段分支中时,可以对比开发阶段分支和测试阶段分支中的配置文件,并在合并之后记录第一配置文件变更信息,该第一配置文件变更信息可以表征合并之后所述测试阶段分支中发生更改的配置文件。在后续部署指定运行环境时,该指定运行环境可以与配置文件分支相对应,该配置文件分支可以专门用于存储所述指定运行环境下的配置文件,并且在所述指定运行环境中的配置文件发生更改时,该配置文件分支中会记录相应的配置文件变更信息。这样,如果在开发阶段分支中产生了变更的配置文件,那么该变更的配置文件也应当同步至所述配置文件分支中,从而在配置文件分支中应当具备该变更的配置文件对应的配置文件变更信息。但是,在实际操作中,该同步过程很可能会发生错误或者根本就没有发生,这就会导致配置文件分支中不具备该变更的配置文件对应的配置文件变更信息。在这种情况下,当部署指定运行环境时,可以从所述指定运行环境对应的配置文件分支中获取最近一次记载的第二配置文件变更信息。当所述第二配置文件变更信息与所述第一配置文件变更信息不一致时,则表明该配置文件分支中的配置文件没有及时进行更新,从而可以发出检测错误提示。工作人员便可以基于该提示排查错误原因,以对该配置文件分支中的配置文件进行调整。由上可见,本申请提供的技术方案,能够有效地检测配置文件是否正常进行了同步更新,如果没有同步更新,可以及时做出调整。这样,在不同的部署环境中使用配置文件时,便可以提升配置文件的使用效率,而不会因为配置文件与部署环境不匹配而无法运行代码。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种配置文件的检测方法,其特征在于,所述方法包括:
当开发阶段分支中的代码调试完成时,记录所述开发阶段分支中发生变更的配置文件;
将所述调试完成的代码以及所述发生变更的配置文件合并至测试阶段分支中,并记录所述测试阶段分支对应的第一配置文件变更信息;
当部署指定运行环境时,从所述指定运行环境对应的配置文件分支中获取最近一次记载的第二配置文件变更信息,并将所述第二配置文件变更信息与所述第一配置文件变更信息进行比对;
当所述第二配置文件变更信息与所述第一配置文件变更信息不一致时,发出检测错误提示。
2.根据权利要求1所述的方法,其特征在于,记录所述开发阶段分支中发生变更的配置文件包括:
部署开发测试环境,并在所述开发测试环境中调试所述开发阶段分支中的代码;
当调试过程中发生配置文件变更时,记录发生变更的配置文件。
3.根据权利要求1所述的方法,其特征在于,所述开发阶段分支中包括指定数量的存储目录,所述存储目录与配置文件的类型相关联;
相应地,在记录所述开发阶段分支中发生变更的配置文件之后,所述方法还包括:
确定所述发生变更的配置文件的目标类型,并将所述发生变更的配置文件写入与所述目标类型相关联的存储目录下。
4.根据权利要求1所述的方法,其特征在于,当所述第二配置文件变更信息与所述第一配置文件变更信息一致时,所述方法还包括:
读取所述测试阶段分支中的代码和配置文件,并读取所述配置文件分支中的配置文件;
利用所述配置文件分支中的配置文件替换所述测试阶段分支中的配置文件,并将所述代码和替换后的配置文件在所述指定运行环境中进行部署。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述代码和替换后的配置文件在所述指定运行环境中通过测试后,记录所述配置文件分支当前的版本标识以及与所述版本标识相对应的第二配置文件变更信息。
6.根据权利要求1所述的方法,其特征在于,所述指定运行环境为质量保证环境;相应地,所述方法还包括:
当部署试运行测试环境时,读取所述试运行测试环境对应的配置文件分支中最近一次记载的第三配置文件变更信息;
将所述第三配置文件变更信息与所述第二配置文件变更信息进行比对;
当所述第三配置文件变更信息与所述第二配置文件变更信息不一致时,发出检测错误提示。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当所述第三配置文件变更信息与所述第二配置文件变更信息一致时,读取所述测试阶段分支中的代码和配置文件,并读取所述试运行测试环境对应的配置文件分支中的配置文件;
利用所述试运行测试环境对应的配置文件分支中的配置文件替换所述测试阶段分支中的配置文件,并将所述代码和替换后的配置文件在所述试运行测试环境中进行部署;
当所述代码和替换后的配置文件在所述试运行测试环境中通过测试后,记录所述试运行测试环境对应的配置文件分支当前的版本标识以及与所述版本标识相对应的第三配置文件变更信息。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当部署上线运行环境时,读取所述上线运行环境对应的配置文件分支中最近一次记载的第四配置文件变更信息;
将所述第四配置文件变更信息与所述第三配置文件变更信息进行比对;
当所述第四配置文件变更信息与所述第三配置文件变更信息不一致时,发出检测错误提示。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
当所述第四配置文件变更信息与所述第三配置文件变更信息一致时,读取所述测试阶段分支中的代码和配置文件,并读取所述上线运行环境对应的配置文件分支中的配置文件;
利用所述上线运行环境对应的配置文件分支中的配置文件替换所述测试阶段分支中的配置文件,并将所述代码和替换后的配置文件在所述上线运行环境中进行部署;
当所述代码和替换后的配置文件在所述上线运行环境中通过测试后,记录所述上线运行环境对应的配置文件分支当前的版本标识以及与所述版本标识相对应的第四配置文件变更信息。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
接收上线成功的通知,响应于所述通知向所述测试阶段分支发送覆盖指令,以使得所述测试阶段分支将代码覆盖到上线阶段分支中。
11.根据权利要求1所述的方法,其特征在于,在所述配置文件分支中设置指定目录,所述指定目录中包括指定数量的存储路径,所述存储路径与机房相关联,其中,部署于所述机房中的配置文件被存放于所述机房关联的存储路径下。
12.一种配置文件的检测系统,其特征在于,所述系统包括:
配置文件变更记录单元,用于当开发阶段分支中的代码调试完成时,记录所述开发阶段分支中发生变更的配置文件;
合并单元,用于将所述调试完成的代码以及所述发生变更的配置文件合并至测试阶段分支中,并记录所述测试阶段分支对应的第一配置文件变更信息;
环境部署单元,用于当部署指定运行环境时,从所述指定运行环境对应的配置文件分支中获取最近一次记载的第二配置文件变更信息,并将所述第二配置文件变更信息与所述第一配置文件变更信息进行比对;
检测提示单元,用于当所述第二配置文件变更信息与所述第一配置文件变更信息不一致时,发出检测错误提示。
13.根据权利要求12所述的系统,其特征在于,所述系统还包括:
数据读取单元,用于当所述第二配置文件变更信息与所述第一配置文件变更信息一致时,读取所述测试阶段分支中的代码和配置文件,并读取所述配置文件分支中的配置文件;
替换单元,用于利用所述配置文件分支中的配置文件替换所述测试阶段分支中的配置文件,并将所述代码和替换后的配置文件在所述指定运行环境中进行部署。
14.根据权利要求13所述的系统,其特征在于,所述系统还包括:
信息记录单元,用于当所述代码和替换后的配置文件在所述指定运行环境中通过测试后,记录所述配置文件分支当前的版本标识以及与所述版本标识相对应的第二配置文件变更信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711215569.XA CN109840194B (zh) | 2017-11-28 | 2017-11-28 | 一种配置文件的检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711215569.XA CN109840194B (zh) | 2017-11-28 | 2017-11-28 | 一种配置文件的检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109840194A true CN109840194A (zh) | 2019-06-04 |
CN109840194B CN109840194B (zh) | 2022-07-08 |
Family
ID=66880960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711215569.XA Active CN109840194B (zh) | 2017-11-28 | 2017-11-28 | 一种配置文件的检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109840194B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502283A (zh) * | 2019-08-19 | 2019-11-26 | 深圳大趋智能科技有限公司 | 一种产品外设兼容方法及系统 |
CN111813439A (zh) * | 2020-07-17 | 2020-10-23 | 前海人寿保险股份有限公司 | 发布材料质量控制方法、装置、设备和计算机存储介质 |
CN112817652A (zh) * | 2021-01-22 | 2021-05-18 | 平安普惠企业管理有限公司 | 计算机环境的配置方法、装置、计算机设备以及存储介质 |
CN113110992A (zh) * | 2021-04-06 | 2021-07-13 | 四川新网银行股份有限公司 | 一种管理测试环境的方法 |
CN113509734A (zh) * | 2021-03-30 | 2021-10-19 | 成都完美天智游科技有限公司 | 游戏文件处理系统 |
CN116192878A (zh) * | 2023-04-27 | 2023-05-30 | 北京微吼时代科技有限公司 | 一种基于Git的配置同步方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080033753A1 (en) * | 2006-08-04 | 2008-02-07 | Valer Canda | Administration of differently-versioned configuration files of a medical facility |
CN103220163A (zh) * | 2012-01-19 | 2013-07-24 | 阿里巴巴集团控股有限公司 | 配置信息的更新方法和系统 |
US20140282400A1 (en) * | 2013-03-14 | 2014-09-18 | Jay Moorthi | Systems and methods for managing software development environments |
CN104094256A (zh) * | 2011-11-28 | 2014-10-08 | 韦斯技术有限公司 | 在具有写入过滤器的客户端设备上部署驱动或者应用 |
CN104423960A (zh) * | 2013-09-10 | 2015-03-18 | 阿里巴巴集团控股有限公司 | 一种项目持续集成的方法及系统 |
US9342784B1 (en) * | 2013-08-05 | 2016-05-17 | VCE Company, Inc. | Rule based module for analyzing computing environments |
CN106095501A (zh) * | 2016-06-12 | 2016-11-09 | 华为软件技术有限公司 | 一种应用部署方法及装置 |
CN107092502A (zh) * | 2017-03-20 | 2017-08-25 | 国家电网公司 | 一种基于云操作系统的应用自动配置方法和装置 |
WO2017177769A1 (zh) * | 2016-04-11 | 2017-10-19 | 平安科技(深圳)有限公司 | Ogg 版本部署方法、系统、服务器和存储介质 |
CN107391176A (zh) * | 2017-06-26 | 2017-11-24 | 上交所技术有限责任公司 | 一种高效的配置数据变更处理方法 |
-
2017
- 2017-11-28 CN CN201711215569.XA patent/CN109840194B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080033753A1 (en) * | 2006-08-04 | 2008-02-07 | Valer Canda | Administration of differently-versioned configuration files of a medical facility |
CN104094256A (zh) * | 2011-11-28 | 2014-10-08 | 韦斯技术有限公司 | 在具有写入过滤器的客户端设备上部署驱动或者应用 |
CN103220163A (zh) * | 2012-01-19 | 2013-07-24 | 阿里巴巴集团控股有限公司 | 配置信息的更新方法和系统 |
US20140282400A1 (en) * | 2013-03-14 | 2014-09-18 | Jay Moorthi | Systems and methods for managing software development environments |
US9342784B1 (en) * | 2013-08-05 | 2016-05-17 | VCE Company, Inc. | Rule based module for analyzing computing environments |
CN104423960A (zh) * | 2013-09-10 | 2015-03-18 | 阿里巴巴集团控股有限公司 | 一种项目持续集成的方法及系统 |
WO2017177769A1 (zh) * | 2016-04-11 | 2017-10-19 | 平安科技(深圳)有限公司 | Ogg 版本部署方法、系统、服务器和存储介质 |
CN106095501A (zh) * | 2016-06-12 | 2016-11-09 | 华为软件技术有限公司 | 一种应用部署方法及装置 |
CN107092502A (zh) * | 2017-03-20 | 2017-08-25 | 国家电网公司 | 一种基于云操作系统的应用自动配置方法和装置 |
CN107391176A (zh) * | 2017-06-26 | 2017-11-24 | 上交所技术有限责任公司 | 一种高效的配置数据变更处理方法 |
Non-Patent Citations (4)
Title |
---|
HUGUES EVRARD等: ""Automatic distributed code generation from formal models of asynchronous processes interacting by multiway rendezvous"", 《JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING》 * |
SOMAYEH PIRHADI 等: ""Open source molecular modeling"", 《JOURNAL OF MOLECULAR GRAPHICS AND MODELLING》 * |
钟炜达: ""一种基于Docker的持续集成平台的设计与实现"", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
霍秋娟 等: "GeoEast产品研发中的软件配置管理过程实践", 《石油工业计算机应用》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502283A (zh) * | 2019-08-19 | 2019-11-26 | 深圳大趋智能科技有限公司 | 一种产品外设兼容方法及系统 |
CN111813439A (zh) * | 2020-07-17 | 2020-10-23 | 前海人寿保险股份有限公司 | 发布材料质量控制方法、装置、设备和计算机存储介质 |
CN111813439B (zh) * | 2020-07-17 | 2024-03-29 | 前海人寿保险股份有限公司 | 发布材料质量控制方法、装置、设备和计算机存储介质 |
CN112817652A (zh) * | 2021-01-22 | 2021-05-18 | 平安普惠企业管理有限公司 | 计算机环境的配置方法、装置、计算机设备以及存储介质 |
CN112817652B (zh) * | 2021-01-22 | 2024-05-24 | 北京神州数码云科信息技术有限公司 | 计算机环境的配置方法、装置、计算机设备以及存储介质 |
CN113509734A (zh) * | 2021-03-30 | 2021-10-19 | 成都完美天智游科技有限公司 | 游戏文件处理系统 |
CN113110992A (zh) * | 2021-04-06 | 2021-07-13 | 四川新网银行股份有限公司 | 一种管理测试环境的方法 |
CN116192878A (zh) * | 2023-04-27 | 2023-05-30 | 北京微吼时代科技有限公司 | 一种基于Git的配置同步方法及系统 |
CN116192878B (zh) * | 2023-04-27 | 2023-07-18 | 北京微吼时代科技有限公司 | 一种基于Git的配置同步方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109840194B (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109840194A (zh) | 一种配置文件的检测方法及系统 | |
US9710367B1 (en) | Method and system for dynamic test case creation and documentation to the test repository through automation | |
CN109656934B (zh) | 基于日志解析的源端Oracle数据库DDL同步方法及设备 | |
Tomassi et al. | Bugswarm: Mining and continuously growing a dataset of reproducible failures and fixes | |
US8683430B2 (en) | Synchronizing development code and deployed executable versioning within distributed systems | |
CN109271326B (zh) | 云数据库的测试方法及其装置、设备和存储介质 | |
CN106484606B (zh) | 一种代码提交方法和设备 | |
US10621212B2 (en) | Language tag management on international data storage | |
Davison | Automated capture of experiment context for easier reproducibility in computational research | |
US20170372247A1 (en) | Methods, systems, and articles of manufacture for implementing software application development and releases | |
CN104199750B (zh) | 一种linux系统的文件恢复方法及装置 | |
US20150212927A1 (en) | Application Testing Automation | |
CN110334326B (zh) | 一种识别配方文件并转化为xml文件的方法及系统 | |
US20190087179A1 (en) | System and method for predicting defects in a computer program | |
US20120266131A1 (en) | Automatic program generation device, method, and computer program | |
JP6542612B2 (ja) | テストシナリオ生成支援装置およびテストシナリオ生成支援方法 | |
CN112711403B (zh) | 游戏开发同步的方法、装置、计算机设备和存储介质 | |
CN108984337A (zh) | 一种数据同步异常的修复方法、修复装置、介质和计算设备 | |
Ostrand et al. | A Tool for Mining Defect-Tracking Systems to Predict Fault-Prone Files. | |
CN108279905A (zh) | 一种组件中引入库文件的方法及装置 | |
US20170206153A1 (en) | Simulating process variable changes during process runtime | |
CN111338632A (zh) | 一种云平台镜像构建方法和装置 | |
CN115357269A (zh) | 一种配置信息更新方法、装置、计算机设备及存储介质 | |
JP2012203580A (ja) | 移行テスト支援システム、移行テスト支援プログラム、移行テスト支援方法 | |
CN111597119A (zh) | 测试脚本更新方法、装置、存储介质及处理器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |