一种文件发布方法、装置、设备及存储介质制造方法及图纸

技术编号:22466970 阅读:24 留言:0更新日期:2019-11-06 10:51
本发明专利技术公开了一种文件发布方法、装置、设备及存储介质。其中,该方法包括:用第一文件覆盖对应工程目录的源文件,对覆盖后的源文件进行编译,并对编译后的源文件进行打包,进而将打包后的源文件上传至发布文件夹进行发布。通过这样方式,能够针对业界主流的分布式架构和程序构建路程,在不用进行复杂配置的前提下,以最少的成本对代码文件进行Mock测试,确保测试代码不会被发布到线上环境的同时,也符合研发人员的常规思路。

A document release method, device, equipment and storage medium

【技术实现步骤摘要】
一种文件发布方法、装置、设备及存储介质
本专利技术实施例涉及计算机处理技术,尤其涉及一种文件发布方法、装置、设备及存储介质。
技术介绍
在进行代码文件发布时,需要事先将代码文件在项目环境中进行测试,该测试需要依赖第三方服务,而此时线下环境的第三方服务可能处于不可用状态,或第三方服务接口搭建成本过高,或返回的数据不能满足测试要求。目前业界通用的做法是服务调用方在程序中编写硬编码进行接口挡板,或者搭建一个Mock平台对第三方服务接口进行Mock测试。但服务调用方在程序中编写硬编码时,测试代码会不小心或不可避免地被合并到主分支(master),然后发布到线上分支,极其容易造成线上事故。另外,服务调用方在公司内部搭建Mock平台对第三方服务接口进行Mock测试时,需要投入团队进行开发,并耗费人力进行维护,成本过高。而且,挡板在Mock平台中也需要进行复杂的配置。
技术实现思路
本专利技术提供一种文件发布方法、装置、设备及存储介质,能够针对研发人员的常规思路,在确保测试代码不会被发布到线上环境的同时,不用进行复杂的配置,从而以最少的成本对代码文件进行Mock测试。第一方面,本专利技术实施例提供了一种文件发布方法,该方法包括:用第一文件覆盖对应工程目录的源文件;对覆盖后的源文件进行编译;对编译后的源文件进行打包;将打包后的源文件上传至发布文件夹进行发布。第二方面,本专利技术实施例还提供了一种文件发布装置,该装置包括:覆盖单元,用于用第一文件覆盖对应工程目录的源文件;编译单元,用于对覆盖后的源文件进行编译;打包单元,用于对编译后的源文件进行打包;发布单元,用于将打包后的源文件上传至发布文件夹进行发布。第三方面,本专利技术实施例还提供了一种文件发布设备,该设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,当处理器执行计算机程序时,实现如本专利技术任意实施例所提供的文件发布方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当计算机程序被处理器执行时,实现如本专利技术任意实施例所提供的文件发布方法。本专利技术提供一种文件发布方法、装置、设备及存储介质,能够用第一文件覆盖对应工程目录的源文件,对覆盖后的源文件进行编译,并对编译后的源文件进行打包,进而将打包后的源文件上传至发布文件夹进行发布。通过这样的实施方案,能够针对业界主流的分布式架构和程序构建路程,在不用进行复杂配置的前提下,以最少的成本对代码文件进行Mock测试,确保测试代码不会被发布到线上环境的同时,也符合研发人员的常规思路。附图说明图1为项目测试场景示意图;图2是本专利技术实施例一中的文件发布方法流程图;图3是本专利技术实施例一中的另一文件发布方法流程图;图4是本专利技术实施例一中的另一文件发布方法流程图;图5是本专利技术实施例二中的文件发布装置结构示意图;图6是本专利技术实施例二中的另一文件发布装置结构示意图;图7是本专利技术实施例二中的另一文件发布装置结构示意图;图8是本专利技术实施例三中的文件发布设备结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。另外,在本申请实施例中,“可选地”或者“示例性地”等词用于表示作例子、例证或说明。本专利技术实施例中被描述为“可选地”或者“示例性地”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“可选地”或者“示例性地”等词旨在以具体方式呈现相关概念。为了便于理解,示例地给出了部分与本专利技术相关概念的说明以供参考。如下所示:Mock:在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便于进行测试,其中,这个虚拟的对象就是Mock对象,也即真实对象在调试期间的代替品。Spring:一个开放源代码的设计层面框架,解决的是业务逻辑层和其他各层的松耦合问题,可将面向接口的编程思想贯穿整个系统应用。AOP:面向切面编程(英文全称:AspectOrientedProgramming),一种通过预编译方式和运行期动态代理实现程序功能的统一维护的技术。@profile:用于激活需要的环境,将spring提供的一个用来标明当前运行环境的注解标记为@profile注解。Maven:一种基于项目对象模型,通过一段描述信息或配置来管理项目的软件项目管理工具,用于统一开发规范与工具,统一管理jar包。以一个项目测试场景为例,如图1所示,A系统的一个功能在测试环境中进行测试,需要调用B系统的b1接口,该接口返回的数据中需要name字段,并且该name字段的值等于chenfa。在这种情形下,可能会遇到以下几种情况:a、搭建B系统的环境需要很高的视角成本;b、B系统的b1接口还没有开发完成;c、B系统的b1接口返回的数据不能满足A系统的测试要求。常规的解决思路是,A系统的研发人员在调用B系统的b1接口的代码上进行注释,将返回结果在代码中进行硬编码,如下所示:Sytem.out.printIn(“身份证ID为”+id+”,身份证名字为”+name);但是进行硬编码之后的代码是被污染的,即代码可能会产生各种bug,这种情况下,若不小心将代码发布到线上,可能会造成线上事故。另外,也许会有其他的技术人员采用Spring的AOP或者@profile等方式来判断当前的运行环境,以避免上述线上事故的发生。但是这种方式仍然存在以下缺陷:a、增加额外的开发成本,并且需要验证编写的AOP类和@profile类是否正确;b、测试代码虽然增加了一层校验环境,但是还是会把代码发布到线上;c、上述两种方式都是基于Spring框架实现,不能脱离spring框架;d、上述两种方式都不是基于Mock功能,且这两种方式也不符合简单、安全的Mock思路。实施例一基于上述应用场景中所存在的缺陷,本专利技术实施例提供了一种文件发布方法,如图2所示,包括:S201、用第一文件覆盖对应工程目录的源文件。示例性地,第一文件可以为具有Mock功能的代码文件,源文件可以为没有Mock功能的代码文件,即是用具有Mock功能的代码文件覆盖对应工程目录下没有Mock功能的代码文件。可选地,本专利技术实施例提供一种实现方法为,通过Maven插件用第一文件覆盖对应工程目录的源文件。其中,Maven插件可以根据系统当前环境,选择对应的第一文件,进而用第一文件覆盖对应工程目录的源文件。例如,当前环境为测试环境时,可以选择用于测试的第一文件覆盖对应工程目录的源文件;若当前环境为预发布环境,则选择与预发布环境对应的第一文件覆盖对应工程目录的源文件。更为具体地,在本专利技术实施例中,可以通过Maven插件中的第一插件,用第一文件覆盖对应工程目录的源文件。示例性地,该第一插件可以为Maven-FileCover插件。即是通过Maven-FileCover插件,实现用具有Mock功能的代码文件覆盖对应工程目录下没有Mock功能的代码文件。S202、对覆盖后的源文件进行编译。由于是通过Maven插件中的第一插件覆盖没有Mock功能的代码文件,因此,也可以通过Maven插件中的其他插件对覆盖后的源文件进行本文档来自技高网...

【技术保护点】
1.一种文件发布方法,其特征在于,包括:用第一文件覆盖对应工程目录的源文件;对覆盖后的所述源文件进行编译;对编译后的所述源文件进行打包;将打包后的所述源文件上传至发布文件夹进行发布。

【技术特征摘要】
1.一种文件发布方法,其特征在于,包括:用第一文件覆盖对应工程目录的源文件;对覆盖后的所述源文件进行编译;对编译后的所述源文件进行打包;将打包后的所述源文件上传至发布文件夹进行发布。2.根据权利要求1所述的文件发布方法,其特征在于,所述用第一文件覆盖对应工程目录的源文件,包括:通过Maven插件用所述第一文件覆盖所述对应工程目录的源文件。3.根据权利要2所述的文件发布方法,其特征在于,所述通过Maven插件用所述第一文件覆盖所述对应工程目录的源文件,包括:通过所述Maven插件中的第一插件,用所述第一文件覆盖所述对应工程目录的源文件。4.根据权利要求1所述的文件发布方法,其特征在于,在所述用第一文件覆盖对应工程目录的源文件之前,所述方法还包括:从系统上下载所述源文件至项目工程目录。5.根据权利要求2或3所述的文件发布方法,其特征在于,所述Maven插件可以根据系统当前环境,选择对应的第一文件,用所述第一文件覆盖所述对应工程目录的源文件。6.根据权利要求1所述的文件发布方法...

【专利技术属性】
技术研发人员:陈发
申请(专利权)人:深圳市盟天科技有限公司
类型:发明
国别省市:广东,44

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

1