一种代码文件发布方法及装置

文档序号:152865 发布日期:2021-10-26 浏览:18次 >En<

阅读说明:本技术 一种代码文件发布方法及装置 (Code file publishing method and device ) 是由 胡文峰 于 2020-04-26 设计创作,主要内容包括:本申请实施例公开了一种代码文件发布方法及装置;本申请实施例可以接收作用于文件发布工具的代码文件发布指令;根据代码文件发布指令,获取需要发布的目标代码文件;将目标代码文件提交至代码托管平台中;获取文件发布工具所接入的系统接口集,该系统接口集包括多个不同文件发布系统的系统接口;通过系统接口集中的目标系统接口,调用相应的目标文件发布系统发布代码托管平台中的目标代码文件。该方案能够基于文件发布工具所接入的多个不同文件发布系统的系统接口,通过目标系统接口对应的目标文件发布系统将代码托管平台的目标代码文件发布,避免了因系统接口间的差异而对各个系统接口进行单独开发的繁琐操作,从而大大提高代码文件发布的效率。(The embodiment of the application discloses a method and a device for releasing a code file; the method and the device can receive a code file issuing instruction acting on a file issuing tool; acquiring a target code file to be issued according to the code file issuing instruction; submitting the target code file to a code hosting platform; acquiring a system interface set accessed by a file publishing tool, wherein the system interface set comprises system interfaces of a plurality of different file publishing systems; and calling the corresponding target code file in the target file publishing system publishing code hosting platform through a target system interface in the system interface set. According to the scheme, the target code file of the code hosting platform can be published through the target file publishing system corresponding to the target system interface based on the system interfaces of the plurality of different file publishing systems accessed by the file publishing tool, so that the complex operation of independently developing each system interface due to the difference among the system interfaces is avoided, and the efficiency of publishing the code file is greatly improved.)

一种代码文件发布方法及装置

技术领域

本发明涉及通信技术领域,具体涉及一种代码文件发布方法及装置。

背景技术

在软件项目的开发过程中,开发人员需要对软件项目中的代码文件进行开发并编译打包,然后可以通过发布系统将其发布,以提供给用户使用。

现有技术的代码文件发布方法,一般是提供一个文件发布系统,比如fit的op发布系统,通过将代码文件打包压缩后经过网络传输到集群的各个机器上。例如,用户可以通过该文件发布系统提供的网页操作页面,选择提交需要发布的代码文件,该文件发布系统拉取用户提交的代码文件,并将其发布到不同环境(如开发环境、测试环境、生产环境等)的各个机器上。

在对现有技术的研究和实践过程中,本发明的发明人发现,现有技术中不同文件发布系统之间很少做互相的打通兼容,当发布代码文件需要使用到多个文件发布系统时,就需要对不同文件发布系统的接口进行适配开发,从而导致发布代码文件的效率大大降低。

发明内容

本申请实施例提供一种代码文件发布方法及装置,可以提高代码文件发布的效率。

本申请实施例提供一种代码文件发布方法,包括:

接收作用于文件发布工具的代码文件发布指令;

根据所述代码文件发布指令,获取需要发布的目标代码文件;

将所述目标代码文件提交至代码托管平台中;

获取所述文件发布工具所接入的系统接口集,所述系统接口集包括多个不同文件发布系统的系统接口;

通过所述系统接口集中的目标系统接口,调用相应的目标文件发布系统发布所述代码托管平台中的目标代码文件。

相应的,本申请实施例还提供了一种代码文件发布装置,包括:

接收单元,用于接收作用于文件发布工具的代码文件发布指令;

文件获取单元,用于根据所述代码文件发布指令,获取需要发布的目标代码文件;

提交单元,用于将所述目标代码文件提交至代码托管平台中;

接口获取单元,用于获取所述文件发布工具所接入的系统接口集,所述系统接口集包括多个不同文件发布系统的系统接口;

调用单元,用于通过所述系统接口集中的目标系统接口,调用相应的目标文件发布系统发布所述代码托管平台中的目标代码文件。

在一些实施例中,所述文件发布工具包括分离的控制层和业务层,所述业务层包括所述系统接口集中系统接口对应的接口业务;所述调用单元,用于:

通过所述控制层,调取所述业务层中的目标接口业务;

通过所述目标接口业务对应的目标系统接口,调用相应的目标文件发布系统发布所述代码托管平台中的目标代码文件。

在一些实施例中,所述代码文件发布装置还包括接入单元,用于:

将初始文件发布工具的控制层和业务层分离;

将多个不同文件发布系统的系统接口接入到分离后的业务层中,以生成所述系统接口对应的接口业务,得到文件发布工具。

在一些实施例中,所述代码文件发布装置还包括解析单元,所述解析单元,包括:

获取子单元,用于获取用于发布代码文件的配置文件,所述配置文件包括发布字段;

解析子单元,用于对所述发布字段进行解析,得到用于发布所述目标代码文件所需的目标文件发布系统。

在一些实施例中,所述解析子单元,用于:

对所述发布字段进行解析,得到系统标识;

根据所述系统标识,确定所述系统标识对应的文件发布系统为发布所述目标代码文件所需的目标文件发布系统。

在一些实施例中,所述获取子单元,用于:

展示文件发布工具的配置页面,所述配置页面包括初始配置文件的发布字段;

基于用户针对初始配置文件中发布字段的编辑操作,获取用于发布代码文件的配置文件。

在一实施例中,所述调用单元,用于:

基于代码托管平台中目标代码文件的文件类型,确定所述目标代码文件的发布顺序;

通过所述系统接口集中的目标系统接口和所述发布顺序,调用相应的目标文件发布系统发布所述代码托管平台中的目标代码文件。

在一实施例中,所述提交单元,用于:

对所述目标代码文件进行类型检测,得到所述目标代码文件的文件类型;

将所述目标代码文件以及目标代码文件的文件类型,提交至代码托管平台中。

在一实施例中,所述接收单元,用于:

对持续集成部署平台中的指令代码进行检测;

当检测到针对文件发布工具的调用指令时,调用文件发布工具,并触发接收作用于文件发布工具的代码文件发布指令。

相应的,本申请还提供一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现本申请实施例提供的任一种代码文件发布方法中的步骤。

此外,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现本申请实施例提供的任一种代码文件发布方法中的步骤。

本申请实施例可以接收作用于文件发布工具的代码文件发布指令;根据代码文件发布指令,获取需要发布的目标代码文件;将目标代码文件提交至代码托管平台中;获取文件发布工具所接入的系统接口集,该系统接口集包括多个不同文件发布系统的系统接口;通过系统接口集中的目标系统接口,调用相应的目标文件发布系统发布代码托管平台中的目标代码文件。由于该方案能够基于文件发布工具所接入的多个不同文件发布系统的系统接口,通过目标系统接口对应的目标文件发布系统将代码托管平台的目标代码文件发布,避免了在发布目标代码文件需要使用到多个不同文件发布系统的情况下,因系统接口间的差异而对各个系统接口进行单独开发的繁琐操作,从而大大提高代码文件发布的效率。

附图说明

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

图1a是本申请实施例提供的代码文件发布方法的场景示意图;

图1b是本申请实施例提供的代码文件发布方法的流程示意图;

图1c是本申请实施例提供的文件发布工具的配置页面的显示示意图;

图1d是本申请实施例提供的发布代码文件的流程示意图;

图2a是本申请实施例提供的代码文件发布方法的另一流程示意图;

图2b是本申请实施例提供的构建文件发布工具的结构示意图;

图2c是本申请实施例提供的调用文件发布工具发布代码文件的流程示意图;

图3a是本申请实施例提供的代码文件发布装置的结构示意图;

图3b是本申请实施例提供的代码文件发布装置的另一结构示意图;

图3c是本申请实施例提供的代码文件发布装置的另一结构示意图;

图4是本申请实施例提供的计算机设备的结构示意图。

具体实施方式

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

本申请实施例提供一种代码文件发布方法、装置、计算机设备和计算机可读存储介质。具体地,本申请实施例的代码文件发布方法可以由计算机设备执行,其中,该计算机设备可以为终端或者服务器等设备,该终端可以为手机、平板电脑、笔记本电脑、智能电视、穿戴式智能设备、个人计算机(PC,Personal Computer)如台式电脑等设备。其中,终端可以包括客户端,该客户端可以是代码文件发布客户端等;服务器可以是单台服务器,也可以是由多个服务器组成的服务器集群。

例如,参见图1a,本申请实施例提供的代码文件发布系统包括终端10和服务器11等,终端10与服务器11之间通过网络连接,比如,通过有线或无线网络连接等。

其中,终端10,可以在检测到针对文件发布工具的调用指令时,将该调用指令发送给服务器,服务器根据该调用指令调用文件发布工具,并触发接收作用于文件发布工具的代码文件发布指令,以便服务器根据代码文件发布指令,获取需要发布的目标代码文件,并通过文件发布工具所接入的不同文件发布系统的系统接口,将提交到代码托管平台中的目标代码文件发布。

其中,服务器11,可以接收作用于文件发布工具的代码文件发布指令;根据代码文件发布指令,获取需要发布的目标代码文件;将目标代码文件提交至代码托管平台中;获取文件发布工具所接入的系统接口集,该系统接口集包括多个不同文件发布系统的系统接口;通过系统接口集中的目标系统接口,调用相应的目标文件发布系统发布代码托管平台中的目标代码文件。

以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。

本申请实施例提供了一种代码文件发布方法,该方法可以由终端或服务器执行,也可以由终端和服务器共同执行;本申请实施例以代码文件发布方法由服务器执行为例来进行说明。

如图1b所示,该代码文件发布方法的具体流程可以如下:

101、接收作用于文件发布工具的代码文件发布指令。

其中,文件发布工具为可用于发布代码文件的工具,该工具可以为命令行工具,例如,可以为采用命令行方式来调用的工具。文件发布工具可以协助开发者快速部署代码文件(如程序)等,例如,可以通过该文件发布工具对本地编译、构建产生的代码文件发布到线上。

本申请实施例中,该文件发布工具可以是基于运行环境而使用的工具,例如,可以是基于Node.js运行环境的命令行工具。使用该文件发布工具的前提,则需要用户在本地的计算机设备如终端上安装运行环境如Node.js,并安装该文件发布工具对应的代码文件发布客户端。

其中,Node.js是一个基于Chrome V8引擎的JavaScript运行环境,因使用事件驱动、非阻塞式I/O模型而得以轻量和高效,可用于方便地搭建响应速度快、易于扩展的网络应用。

其中,代码文件发布指令可以由用户通过其所属的终端进行触发,例如,可以是用户在调用该文件发布工具时,直接触发该代码文件发布指令,或者是在调用该文件发布工具时,由用户通过在该工具中输入相应的命令行,以触发该代码文件发布指令,等等。当终端检测到作用于该文件发布工具的代码文件发布指令时,将该代码文件发布指令发送给服务器,服务器接收该代码文件发布指令。

其中,调用该文件发布工具,可以是在多种系统环境下进行调用,如windows系统、linux系统、Mac系统,等等。由于文件发布工具可以为命令行工具,通过在操作系统的命令行程序中输入该工具对应的调用指令(如“pubidc”指令),则可以调用该文件发布工具,其中,命令行程序可以包括windows系统中的cmd(命令提示符),linux系统中的shell(即bash,命令解释器),等等。

在一实施例中,由于该文件发布工具可以支持采用命令行的方式进行调用,为了提高代码文件发布的效率、以及准确度,可以在对代码文件进行持续集成部署过程中调用该文件发布工具,以将代码文件发布。例如,在持续集成部署过程中,可以对持续集成部署平台中的指令代码进行检测,当检测到针对文件发布工具的调用指令时,调用该发布工具,并触发接收作用于该工具的代码文件发布指令。具体地,步骤“接收作用于文件发布工具的代码文件发布指令”,可以包括:

对持续集成部署平台中的指令代码进行检测;

当检测到针对文件发布工具的调用指令时,调用文件发布工具,并触发接收作用于文件发布工具的代码文件发布指令。

其中,指令代码中的调用指令,可以是在对代码文件进行持续集成部署的过程中,由用户在持续集成部署平台的代码文件如脚本文件上编写得到,也可以是根据提示指令自动生成,等等。

例如,可以通过在持续集成部署平台的bash插件执行“pub idc”命令来调用文件发布工具,以将需要发布的代码文件发布。

102、根据代码文件发布指令,获取需要发布的目标代码文件。

其中,代码文件可以由用户在本地(即该代码文件发布装置)编译、构建产生,或者,也可以通过接收其他设备如其他终端发送的代码文件来得到,等等。

目标代码文件为用户需要发布的代码文件,该目标代码文件可以包括一个或者多个代码文件。该目标代码文件可以是由用户选定的、并上传到文件发布工具中的代码文件,或者,也可以是由用户指定的、预先保存在文件发布工具中的代码文件,等等。

当服务器接收到作用于文件发布工具的代码文件发布指令后,根据代码文件发布指令,获取用户指定的、需要发布的目标代码文件。

103、将目标代码文件提交至代码托管平台中。

其中,代码托管平台为可以提供代码托管服务的平台,其中,代码托管服务包括提供代码托管、项目管理、以及版本控制等功能的服务。代码托管平台的种类有多种,为了提高代码文件发布的效率、以及准确性,可以采用Github作为本申请实施例中的代码托管平台。

GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。Github是一个分布式管理系统,若任何一处协同工作的设备发生故障,事后可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。更进一步,这类系统都可以指定和若干不同的远端代码仓库进行交互。

在一实施例中,将目标代码文件提交到代码托管平台之前,可以先对目标代码文件的文件类型进行检测,得到目标代码文件的文件类型,然后,将目标代码文件和其对应的文件类型,一并提交到代码托管平台中,具体地,步骤“将目标代码文件提交到代码托管平台中”,可以包括:

对目标代码文件进行类型检测,得到目标代码文件的文件类型;

将目标代码文件以及目标代码文件的文件类型,提交至代码托管平台中。

其中,目标代码文件的文件类型可以有多种,例如,该目标代码文件可以包括静态文件、预发布入口文件、以及正式入口文件,等等。其中,静态文件包括图片、以及文件后缀名为css(即层叠样式表类型的文件)或者js(JavaScript,即脚本语言文件)等的网页引用的文件;预发布入口文件为需要进入预发布入口进行测试的代码文件,其中,预发布入口为与软件的生产环境一致,但是访问入口不对外开放的访问入口,也即该入口对应的访问地址不对外开放;正式入口文件为通过正式入口发布的代码文件,其中,正式入口为软件对外提供服务的正式访问入口,正常情况下,用户可以通过该正式访问入口访问到已经发布的软件,即可以通过对外开放的地址链接访问到。

其中,对目标代码文件进行类型检测,可以是通过文件发布工具对目标代码文件进行检测,从而得到目标代码文件的文件类型,或者,也可以是由用户对目标代码文件进行分类,从而得到目标代码文件中各个代码文件的文件类型,然后,将目标代码文件、以及目标代码文件对应的文件类型提交到代码托管平台中。

104、获取文件发布工具所接入的系统接口集,该系统接口集包括多个不同文件发布系统的系统接口。

其中,文件发布系统为用于发布代码文件的发布平台系统,即,可以将代码文件(如程序)等发布到指定环境的集成系统,例如,fit的op发布系统、eos发布系统,等等。其中,指定环境可以是开发环境、测试环境、生产环境等程序相关独立部署的环境。

本申请实施例中,为了应对发布代码文件需要使用到多个文件发布系统的情况,进而提高发布代码文件的效率,可以将一个或者多个不同文件发布系统的系统接口接入到文件发布工具上,通过获取文件发布工具所接入的系统接口,并通过该系统接口对应的文件发布系统,将代码文件发布到指定环境的各个设备上。

在一实施例中,将不同文件发布系统的系统接口接入到文件发布工具的方法可以有多种,例如,可以将系统接口接入到文件发布工具的业务层中,通过文件发布工具的控制层来调用业务层中所接入的系统接口,具体地,该代码文件发布方法,还可以包括:

将初始文件发布工具的控制层和业务层分离;

将多个不同文件发布系统的系统接口接入到分离后的业务层中,以生成系统接口对应的接口业务,得到文件发布工具。

一般来说,web工程结构主要包括三层,自下而上依次为数据层(dao层)、业务层(service层)、以及控制层(controller层)等,其中,业务层主要负责业务模块的逻辑应用设计,能够调用数据层的接口或者业务层本身来进行业务处理;控制层则负责具体的业务模块流程的控制,可以调用业务层的接口来控制业务的流程。

本申请实施例中,通过将初始的文件发布工具的控制层和业务层进行分离,然后,将一个或者多个不同文件发布系统的系统接口接入到分离后的业务层中,并在业务层中生成每个系统接口对应的接口业务,从而得到最终用于发布代码文件的文件发布工具。其中,文件发布工具的控制层可以调取业务层来实现代码的解耦。

在一实施例中,当文件发布工具需要重新接入一个新的文件发布系统的系统接口时,就需要在业务层中再生成一个该系统接口对应的接口业务,以便于控制层调用。

105、通过系统接口集中的目标系统接口,调用相应的目标文件发布系统发布代码托管平台中的目标代码文件。

其中,发布目标代码文件的方式可以有多种,例如,可以通过文件发布工具中的控制层,来调取业务层中的目标接口业务,然后,通过目标接口业务对应的目标系统接口,调用该目标系统接口对应的目标文件发布系统,将提交到代码托管平台中的目标代码文件发布。

具体地,该文件发布工具包括分离的控制层和业务层,该业务层中包括该系统接口集中系统接口对应的接口业务,则步骤“通过系统接口集中的目标系统接口,调用相应的目标文件发布系统发布代码托管平台中的目标代码文件”,可以包括:

通过控制层,调取业务层中的目标接口业务;

通过目标接口业务对应的目标系统接口,调用相应的目标文件发布系统发布代码托管平台中的目标代码文件。

在一实施例中,可以通过用于发布代码文件的配置文件,来确定发布目标代码文件所需的目标文件发布系统,具体地,步骤“通过系统接口集中的目标系统接口,调用相应的目标文件发布系统发布代码托管平台中的目标代码文件”之前,该代码文件发布方法,还可以包括:

获取用于发布代码文件的配置文件,该配置文件包括发布字段;

对所述发布字段进行解析,得到用于发布所述目标代码文件所需的目标文件发布系统。

其中,该配置文件可以由用户创建,也可以是根据创建指令自动生成的文件,其中,该配置文件中包括发布字段,用户可以通过该发布字段指定发布目标代码文件所需的目标文件发布系统的系统标识。

在一实施例中,通过对该发布字段进行解析,可以得到该字段中包含的系统标识,根据系统标识,可以确定该系统标识对应的文件发布系统为发布目标代码文件所需的目标文件发布系统。具体地,步骤“对所述发布字段进行解析,得到用于发布所述目标代码文件所需的目标文件发布系统”,可以包括:

对所述发布字段进行解析,得到系统标识;

根据系统标识,确定系统标识对应的文件发布系统为发布目标代码文件所需的目标文件发布系统。

例如,配置文件中的发布字段为“publishType:[“eos”]”,表示将目标代码文件通过文件发布系统eos发布。其中,发布字段可以指示一个或者多个目标文件发布系统对应的系统标识。例如,发布字段为:“publishType:[“eos”,“op”]”,则表示将目标代码文件通过eos发布系统、以及op发布系统发布。其中,publishType(发布类型)为该发布字段的名称,该发布字段可以根据实际应用的需求进行设置和编辑。

在一实施例中,基于文件发布工具所接入的多个不同文件发布系统的系统接口,用户可以根据需要灵活选择、和配置需要使用到的一个或者多个文件发布系统,即可以支持业务在不同的文件发布系统之间快速切换和迁移。具体地,步骤“获取用于发布代码文件的配置文件”,可以包括:

展示文件发布工具的配置页面,该配置页面包括初始配置文件的发布字段;

基于用户针对初始配置文件中发布字段的编辑操作,获取用于发布代码文件的配置文件。

例如,参见图1c,其中,配置页面包括配置文件,即publish.config.js文件,该配置文件中包括发布字段,即“publishType:[“eos”]”字段,通过对该字段进行编辑操作,比如,可以对该字段中包含有系统标识的数组进行系统标识的增加、修改、和删除等操作,可以灵活配置发布目标代码文件所需的目标文件发布系统。

在一实施例中,可以基于步骤103中得到的目标代码文件的文件类型,确定发布目标代码文件时各个代码文件的发布顺序,然后,根据该发布顺序,调用系统接口集中目标系统接口对应的目标文件发布系统,将提交到代码托管平台的目标代码文件发布。具体地,步骤“通过系统接口集中的目标系统接口,调用相应的目标文件发布系统发布代码托管服务中的目标代码文件”,可以包括:

基于代码托管服务中目标代码文件的文件类型,确定目标代码文件的发布顺序;

通过系统接口集中的目标系统接口和发布顺序,调用相应的目标文件发布系统发布代码托管服务中的目标代码文件。

其中,该发布顺序可以为:该目标代码文件中的静态文件会直接发布,即通过正式入口发布;预发布入口文件会先进入预发布入口进行测试,测试通过后再进入正式入口发布;正式入口文件可以直接通过正式入口进行发布。其中,该发布顺序可以根据实际应用的需求进行设置。

本申请实施例中,可以通过文件发布工具,以及文件发布工具所接入的不同文件发布系统的系统接口,采用目标系统接口对应的目标文件发布系统将目标代码文件发布到指定环境(如开发环境、测试环境、生产环境等)的各个设备上。

在一实施例中,本申请实施例所提供的代码文件发布方法,大致流程可以参见图1d,其中,由发起方调用文件发布工具对应的文件发布工具服务,然后,将获取到的需要发布的代码文件提交到代码托管平台(即代码托管服务)中,同时代码托管服务发送“提交成功”的消息给文件发布工具,文件发布工具在接收到消息后,调用自身所接入的文件发布系统的系统接口,文件发布系统的发布平台服务在接收到调用指令后,拉取提交到代码托管服务中的代码文件,拉取成功后,将拉取到的代码文件发布,并返回“发布成功”的消息给文件发布工具,文件发布工具将发布成功的结果返回给发起方。

由上可知,本申请实施例可以接收作用于文件发布工具的代码文件发布指令;根据代码文件发布指令,获取需要发布的目标代码文件;将目标代码文件提交至代码托管平台中;获取文件发布工具所接入的系统接口集,该系统接口集包括多个不同文件发布系统的系统接口;通过系统接口集中的目标系统接口,调用相应的目标文件发布系统发布代码托管平台中的目标代码文件。由于该方案能够基于文件发布工具所接入的多个不同文件发布系统的系统接口,并通过所接入的系统接口集中目标系统接口对应的目标文件发布系统,将提交到代码托管平台中的目标代码文件发布,从而避免了在发布目标代码文件需要使用到多个不同文件发布系统的情况下,因不同系统接口之间的差异而需要单独对不同的系统接口进行开发的繁琐操作,使得代码文件发布的效率大大提高。

根据上述实施例所描述的方法,以下将举例作进一步详细说明。

在本实施例中,提供了一种代码文件发布方法,该方法可以由终端或服务器来执行,也可以由终端和服务器共同来执行,本实施例以该方法由服务器来执行为例进行说明。

如图2a所示,该代码文件发布方法,具体流程可以如下:

201、服务器接收作用于文件发布工具的代码文件发布指令。

其中,代码文件发布指令可以由用户通过其所属的终端进行触发,例如,可以是用户在调用该文件发布工具时,直接触发该代码文件发布指令,或者是在调用该文件发布工具时,由用户通过在该工具中输入相应的命令行,以触发该代码文件发布指令,等等。

当终端检测到作用于该文件发布工具的代码文件发布指令时,将该代码文件发布指令发送给服务器,服务器接收该代码文件发布指令。

其中,调用该文件发布工具,可以是在多种系统环境下进行调用,如windows系统、linux系统、Mac系统,等等。由于文件发布工具可以为命令行工具,通过在操作系统的命令行程序中输入该工具对应的调用指令(如“pubidc”指令),则可以调用该文件发布工具,其中,命令行程序可以包括windows系统中的cmd(命令提示符),linux系统中的shell(即bash,命令解释器),等等。

在一实施例中,由于该文件发布工具可以支持采用命令行的方式进行调用,为了提高代码文件发布的效率、以及准确度,可以在对代码文件进行持续集成部署过程中调用该文件发布工具,以将代码文件发布。例如,在持续集成部署过程中,可以对持续集成部署平台中的指令代码进行检测,当检测到针对文件发布工具的调用指令时,调用该发布工具,并触发接收作用于该工具的代码文件发布指令。

其中,指令代码中的调用指令,可以是在对代码文件进行持续集成部署的过程中,由用户在持续集成部署平台的代码文件如脚本文件上编写得到,也可以是根据提示指令自动生成,等等。例如,可以通过在持续集成部署平台的bash插件执行“pub idc”命令来调用文件发布工具,以将需要发布的代码文件发布。

202、服务器根据代码文件发布指令,获取需要发布的目标代码文件。

其中,目标代码文件为用户需要发布的代码文件,该目标代码文件可以包括一个或者多个代码文件。该目标代码文件可以由用户在本地(即该代码文件发布装置)编译、构建产生,或者,也可以通过接收其他设备如其他终端发送的代码文件来得到,等等。

需要发布的目标代码文件可以是由用户选定的,并上传到文件发布工具中的代码文件,或者,也可以是由用户指定的、预先保存在文件发布工具中的代码文件,等等。

当服务器接收到作用于文件发布工具的代码文件发布指令后,根据代码文件发布指令,获取用户指定的、需要发布的目标代码文件。

203、服务器将目标代码文件提交至代码托管平台中。

例如,服务器在获取到需要发布的目标代码文件时,可以先对目标代码文件的文件类型进行检测,得到目标代码文件中各个代码文件对应的文件类型,然后,将目标代码文件、以及目标代码文件中各个代码文件对应的文件类型提交到代码托管平台中,

其中,目标代码文件的文件类型可以有多种,例如,该目标代码文件可以包括静态文件、预发布入口文件、以及正式入口文件,等等。其中,静态文件包括图片、以及文件后缀名为css(即层叠样式表类型的文件)或者js(JavaScript,即脚本语言文件)等的网页引用的文件;预发布入口文件为需要进入预发布入口进行测试的代码文件,其中,预发布入口为与软件的生产环境一致,但是访问入口不对外开放的访问入口,也即该入口对应的访问地址不对外开放;正式入口文件为通过正式入口发布的代码文件,其中,正式入口为软件对外提供服务的正式访问入口,正常情况下,用户可以通过该正式访问入口访问到已经发布的软件,即可以通过对外开放的地址链接访问到。

其中,对目标代码文件进行类型检测,可以是通过文件发布工具对目标代码文件进行检测,从而得到目标代码文件的文件类型,或者,也可以是由用户对目标代码文件中各个代码文件进行分类,从而得到目标代码文件中各个代码文件的文件类型,然后,将目标代码文件、以及目标代码文件中各个代码文件对应的文件类型提交到代码托管平台中。

204、服务器获取文件发布工具所接入的系统接口集,该系统接口集包括多个不同文件发布系统的系统接口。

其中,文件发布系统为用于发布代码文件的发布平台系统,即,可以将代码文件(如程序)等发布到指定环境的集成系统,例如,fit的op发布系统、eos发布系统,等等。其中,指定环境可以是开发环境、测试环境、生产环境等程序相关独立部署的环境。

本申请实施例中,为了应对发布代码文件需要使用到多个文件发布系统的情况,进而提高发布代码文件的效率,服务器可以将一个或者多个不同文件发布系统的系统接口接入到文件发布工具上,通过获取文件发布工具所接入的系统接口,并通过系统接口对应的文件发布系统,将代码文件发布到指定环境的各个设备上。

在一实施例中,将不同文件发布系统的系统接口接入到文件发布工具的方法可以有多种,例如,可以将初始的文件发布工具的控制层和业务层进行分离,然后,将一个或者多个不同文件发布系统的系统接口接入到分离后的业务层中,并在业务层中生成每个系统接口对应的接口业务,从而得到最终用于发布代码文件的文件发布工具。其中,文件发布工具的控制层可以调取业务层来实现代码的解耦。

例如,参见图2b,通过文件发布工具的控制层,可以调用业务层中接入的多个文件发布系统的系统接口对应的接口业务,比如,eos发布系统的接口业务,op发布系统的接口业务,以及其他发布系统的接口业务,等等。

在一实施例中,当文件发布工具需要重新接入一个新的文件发布系统的系统接口时,就需要在业务层中再生成一个该系统接口对应的接口业务,以便于控制层调用。

205、服务器通过系统接口集中的目标系统接口,调用相应的目标文件发布系统发布代码托管平台中的目标代码文件。

其中,发布目标代码文件的方式可以有多种,例如,可以通过文件发布工具中的控制层,来调取业务层中的目标接口业务,然后,通过目标接口业务对应的目标系统接口,调用该目标系统接口对应的目标文件发布系统,将提交到代码托管平台中的目标代码文件发布。

具体地,该文件发布工具包括分离的控制层和业务层,该业务层中包括该系统接口集中系统接口对应的接口业务,则步骤“通过系统接口集中的目标系统接口,调用相应的目标文件发布系统发布代码托管平台中的目标代码文件”,可以包括:

通过控制层,调取业务层中的目标接口业务;

通过目标接口业务对应的目标系统接口,调用相应的目标文件发布系统发布代码托管平台中的目标代码文件。

在一实施例中,可以通过用于发布代码文件的配置文件,来确定发布目标代码文件所需的目标文件发布系统,具体地,步骤“通过系统接口集中的目标系统接口,调用相应的目标文件发布系统发布代码托管平台中的目标代码文件”之前,该代码文件发布方法,还可以包括:

获取用于发布代码文件的配置文件,该配置文件包括发布字段;

对所述发布字段进行解析,得到用于发布所述目标代码文件所需的目标文件发布系统。

其中,该配置文件可以由用户创建,也可以是根据创建指令自动生成的文件,其中,该配置文件中包括发布字段,用户可以通过该发布字段指定发布目标代码文件所需的目标文件发布系统的系统标识。

在一实施例中,通过对该发布字段进行解析,可以得到该字段中包含的系统标识,根据系统标识,可以确定该系统标识对应的文件发布系统为发布目标代码文件所需的目标文件发布系统。具体地,步骤“对所述发布字段进行解析,得到用于发布所述目标代码文件所需的目标文件发布系统”,可以包括:

对所述发布字段进行解析,得到系统标识;

根据系统标识,确定系统标识对应的文件发布系统为发布目标代码文件所需的目标文件发布系统。

例如,配置文件中的发布字段为“publishType:[“eos”]”,表示将目标代码文件通过文件发布系统eos发布。其中,发布字段可以指示一个或者多个目标文件发布系统对应的系统标识。例如,发布字段为:“publishType:[“op”]”,则表示将目标代码文件通过op发布系统发布。其中,publishType(发布类型)为该发布字段的名称,该发布字段可以根据实际应用的需求进行设置和编辑。

在一实施例中,基于文件发布工具所接入的多个不同文件发布系统的系统接口,用户可以根据需要灵活选择、和配置需要使用到的一个或者多个文件发布系统,即可以支持业务在不同的文件发布系统之间快速切换和迁移。具体地,步骤“获取用于发布代码文件的配置文件”,可以包括:

展示文件发布工具的配置页面,该配置页面包括初始配置文件的发布字段;

基于用户针对初始配置文件中发布字段的编辑操作,获取用于发布代码文件的配置文件。

例如,参见图1c,其中,配置页面包括配置文件,即publish.config.js文件,该配置文件中包括发布字段,即“publishType:[“eos”]”字段,通过对该字段进行编辑操作可以灵活配置发布目标代码文件所需的目标文件发布系统,比如,可以通过对该字段中包含有系统标识的数组进行系统标识的增加、修改、和删除等操作。

在一实施例中,可以基于步骤103中得到的目标代码文件的文件类型,确定发布目标代码文件时各个代码文件的发布顺序,然后,根据该发布顺序,调用系统接口集中目标系统接口对应的目标文件发布系统,将提交到代码托管平台的目标代码文件发布。具体地,步骤“通过系统接口集中的目标系统接口,调用相应的目标文件发布系统发布代码托管服务中的目标代码文件”,可以包括:

基于代码托管服务中目标代码文件的文件类型,确定目标代码文件的发布顺序;

通过系统接口集中的目标系统接口和发布顺序,调用相应的目标文件发布系统发布代码托管服务中的目标代码文件。

其中,该发布顺序可以为:该目标代码文件中的静态文件会直接发布,即通过正式入口发布;预发布入口文件会先进入预发布入口进行测试,测试通过后再进入正式入口发布;正式入口文件可以直接通过正式入口进行发布。其中,该发布顺序可以根据实际应用的需求进行设置。

本申请实施例中,可以通过文件发布工具,以及文件发布工具所接入的不同文件发布系统的系统接口,采用目标系统接口对应的目标文件发布系统将目标代码文件发布到指定环境(如开发环境、测试环境、生产环境等)的各个设备上。例如,参见图2c,通过在不同系统环境下、以及持续集成部署过程中调用该文件发布工具,文件发布工具将需要发布的目标代码文件提交到统一的代码仓库(即代码托管平台),然后根据文件发布工具所接入的系统接口,通过系统接口对应的文件发布系统如op发布系统、以及eos发布系统,来拉取目标代码文件,并将目标代码文件发布到指定环境的各个设备上,例如,BETA机器(公测设备)、IDC机器(互联网数据中心设备)、以及GAMMA机器(预发布测试设备),等等。

由上可知,本申请实施例可以接收作用于文件发布工具的代码文件发布指令;根据代码文件发布指令,获取需要发布的目标代码文件;将目标代码文件提交至代码托管平台中;获取文件发布工具所接入的系统接口集,该系统接口集包括多个不同文件发布系统的系统接口;通过系统接口集中的目标系统接口,调用相应的目标文件发布系统发布代码托管平台中的目标代码文件。由于该方案能够基于文件发布工具所接入的多个不同文件发布系统的系统接口,并通过所接入的系统接口集中目标系统接口对应的目标文件发布系统,将提交到代码托管平台中的目标代码文件发布,从而避免了在发布目标代码文件需要使用到多个不同文件发布系统的情况下,因不同系统接口之间的差异而需要单独对不同的系统接口进行开发的繁琐操作,使得代码文件发布的效率大大提高。

为便于更好地实施以上方法,本申请实施例还提供了一种代码文件发布装置。

例如,如图3a所示,该代码文件发布装置可以包括接收单元301、文件获取单元302、提交单元303、接口获取单元304、以及调用单元305等,如下:

接收单元301,用于接收作用于文件发布工具的代码文件发布指令;

文件获取单元302,用于根据所述代码文件发布指令,获取需要发布的目标代码文件;

提交单元303,用于将所述目标代码文件提交至代码托管平台中;

接口获取单元304,用于获取所述文件发布工具所接入的系统接口集,所述系统接口集包括多个不同文件发布系统的系统接口;

调用单元305,用于通过所述系统接口集中的目标系统接口,调用相应的目标文件发布系统发布所述代码托管平台中的目标代码文件。

在一些实施例中,所述文件发布工具包括分离的控制层和业务层,所述业务层包括所述系统接口集中系统接口对应的接口业务;

所述调用单元305,用于:

通过所述控制层,调取所述业务层中的目标接口业务;

通过所述目标接口业务对应的目标系统接口,调用相应的目标文件发布系统发布所述代码托管平台中的目标代码文件。

在一些实施例中,参见图3b,所述代码文件发布装置还包括接入单元306,用于:

将初始文件发布工具的控制层和业务层分离;

将多个不同文件发布系统的系统接口接入到分离后的业务层中,以生成所述系统接口对应的接口业务,得到文件发布工具。

在一些实施例中,参见图3c,所述代码文件发布装置还包括解析单元307,所述解析单元,包括:

获取子单元3071,用于获取用于发布代码文件的配置文件,所述配置文件包括发布字段;

解析子单元3072,用于对所述发布字段进行解析,得到用于发布所述目标代码文件所需的目标文件发布系统。

在一些实施例中,所述解析子单元3072,用于:

对所述发布字段进行解析,得到系统标识;

根据所述系统标识,确定所述系统标识对应的文件发布系统为发布所述目标代码文件所需的目标文件发布系统。

在一些实施例中,所述获取子单元3071,用于:

展示文件发布工具的配置页面,所述配置页面包括初始配置文件的发布字段;

基于用户针对初始配置文件中发布字段的编辑操作,获取用于发布代码文件的配置文件。

在一实施例中,所述调用单元305,用于:

基于代码托管平台中目标代码文件的文件类型,确定所述目标代码文件的发布顺序;

通过所述系统接口集中的目标系统接口和所述发布顺序,调用相应的目标文件发布系统发布所述代码托管平台中的目标代码文件。

在一实施例中,所述提交单元303,用于:

对所述目标代码文件进行类型检测,得到所述目标代码文件的文件类型;

将所述目标代码文件以及目标代码文件的文件类型,提交至代码托管平台中。

在一实施例中,所述接收单元301,用于:

对持续集成部署平台中的指令代码进行检测;

当检测到针对文件发布工具的调用指令时,调用文件发布工具,并触发接收作用于文件发布工具的代码文件发布指令。

具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。

由上可知,本申请实施例的游戏数据查询装置可以通过接收单元301接收作用于文件发布工具的代码文件发布指令;由文件获取单元302根据代码文件发布指令,获取需要发布的目标代码文件;由提交单元303将目标代码文件提交至代码托管平台中;由接口获取单元304获取文件发布工具所接入的系统接口集,该系统接口集包括多个不同文件发布系统的系统接口;由调用单元305通过系统接口集中的目标系统接口,调用相应的目标文件发布系统发布代码托管平台中的目标代码文件。由于该方案能够基于文件发布工具所接入的多个不同文件发布系统的系统接口,通过目标系统接口对应的目标文件发布系统将代码托管平台的目标代码文件发布,避免了在发布目标代码文件需要使用到多个不同文件发布系统的情况下,因系统接口间的差异而对各个系统接口进行单独开发的繁琐操作,从而大大提高代码文件发布的效率。

本申请实施例还提供一种计算机设备,如图4所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,具体来讲:

该计算机设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器401是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。

存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、影像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。

计算机设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该计算机设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:

接收作用于文件发布工具的代码文件发布指令;根据代码文件发布指令,获取需要发布的目标代码文件;将目标代码文件提交至代码托管平台中;获取文件发布工具所接入的系统接口集,该系统接口集包括多个不同文件发布系统的系统接口;通过系统接口集中的目标系统接口,调用相应的目标文件发布系统发布代码托管平台中的目标代码文件。

以上各个操作具体可参见前面的实施例,在此不作赘述。

由上可知,本申请实施例的计算机设备可以接收作用于文件发布工具的代码文件发布指令;根据代码文件发布指令,获取需要发布的目标代码文件;将目标代码文件提交至代码托管平台中;获取文件发布工具所接入的系统接口集,该系统接口集包括多个不同文件发布系统的系统接口;通过系统接口集中的目标系统接口,调用相应的目标文件发布系统发布代码托管平台中的目标代码文件。由于该方案能够基于文件发布工具所接入的多个不同文件发布系统的系统接口,通过目标系统接口对应的目标文件发布系统将代码托管平台的目标代码文件发布,避免了在发布目标代码文件需要使用到多个不同文件发布系统的情况下,因系统接口间的差异而对各个系统接口进行单独开发的繁琐操作,从而大大提高代码文件发布的效率。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本申请实施例提供一种计算机可读存储介质,其中存储有计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种代码文件发布方法中的步骤。例如,该计算机程序可以执行如下步骤:

接收作用于文件发布工具的代码文件发布指令;根据代码文件发布指令,获取需要发布的目标代码文件;将目标代码文件提交至代码托管平台中;获取文件发布工具所接入的系统接口集,该系统接口集包括多个不同文件发布系统的系统接口;通过系统接口集中的目标系统接口,调用相应的目标文件发布系统发布代码托管平台中的目标代码文件。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。

由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种代码文件发布方法中的步骤,因此,可以实现本申请实施例所提供的任一种代码文件发布方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

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

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于流程化配置的智能任务调度方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!