支持服务重构的打包部署方法及装置与流程

文档序号:21407314发布日期:2020-07-07 14:41阅读:178来源:国知局
支持服务重构的打包部署方法及装置与流程

本发明实施例属于打包部署技术领域,更具体地,涉及一种支持服务重构的打包部署方法及装置。



背景技术:

目前,项目在进行打包部署时,一个后端服务只能针对一个前端路由发送请求。

然而,由于很多项目运行一段时间后,会不断增加新功能。而最初的开发框架很可能不兼容新功能,此时需要进行项目重构。为了不影响历史功能,前端需要增加git服务,用于重构功能的使用。此时,现有的打包部署方式中一个后端不能支持多个前端服务,不适用于项目重构。



技术实现要素:

为克服上述现有的打包部署方式不能支持多个前端服务,不适用于项目重构的问题或者至少部分地解决上述问题,本发明实施例提供一种支持服务重构的打包部署方法及装置。

根据本发明实施例的第一方面,提供一种支持服务重构的打包部署方法,包括:

判断目标项目的新增项目是否有单独的访问域名;若所述新增项目没有单独的访问域名,则在所述目标项目原有打包部署任务的脚本中添加所述新增项目的参数信息,以支持所述新增项目的git服务,使用修改后的脚本对所述新增项目进行打包部署。

根据本发明实施例第二方面提供一种支持服务重构的打包部署装置,包括:

判断模块,用于判断目标项目的新增项目是否有单独的访问域名;

打包部署模块,用于在所述新增项目没有单独的访问域名时,在所述目标项目原有打包部署任务的脚本中添加所述新增项目的参数信息,以支持所述新增项目的git服务,使用修改后的脚本对所述新增项目进行打包部署。

根据本发明实施例的第三个方面,还提供一种电子设备,包括:

至少一个处理器;以及

与所述处理器通信连接的至少一个存储器,其中:

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的支持服务重构的打包部署方法。

根据本发明实施例的第四个方面,还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的支持服务重构的打包部署方法。

本发明实施例提供一种支持服务重构的打包部署方法及装置,该方法通过在新增项目没有单独的访问域名,则在目标项目原有打包部署任务的脚本中添加新增项目的参数信息,以支持新增项目git服务,使用修改后的脚本对新增项目进行打包部署,一方面,使得后端能访问到前端所有git服务的资源文件,支持多个前端服务;另一方面,能适用于所有重构项目的打包部署,通用性强。

附图说明

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

图1为本发明实施例提供的支持服务重构的打包部署方法整体流程示意图;

图2为本发明实施例提供的支持服务重构的打包部署装置整体结构示意图;

图3为本发明实施例提供的电子设备整体结构示意图。

具体实施方式

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

在本发明的一个实施例中提供一种支持服务重构的打包部署方法,图1为本发明实施例提供的支持服务重构的打包部署方法整体流程示意图,该方法包括:s101,判断目标项目的新增项目是否有单独的访问域名;

其中,目标项目为需要进行重构的项目,新增项目为目标项目中新增加的一个项目,从而实现目标项目功能的增加。新增项目与目标项目所使用的框架不同,所以需要增加一个新的git服务以实现新增项目的功能。git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。首先判断目标项目的新增项目是否具有单独的访问域名,即需要重构的目标项目是否有新增的访问域名。

s102,若所述新增项目没有单独的访问域名,则在所述目标项目原有打包部署任务的脚本中添加所述新增项目的参数信息,以支持所述新增项目的git服务,使用修改后的脚本对所述新增项目进行打包部署。

如果新增项目没有单独的访问域名,则通过在目标项目原有打包部署任务的脚本中添加新增项目的参数信息。其中,新增项目的参数信息为新增项目在打包部署过程中的资源文件路径。从而实现对新增git服务的构建,将打包部署过程中新增项目的资源文件按照添加的相应路径进行保存,使得后端能访问到前端所有git服务的资源文件。使用修改后的脚本对新增项目进行打包部署。在对目标项目进行打包部署完成后,可以对目标项目进行正常访问。

本实施例通过在新增项目没有单独的访问域名,则在目标项目原有打包部署任务的脚本中添加新增项目的参数信息,以支持新增项目git服务,使用修改后的脚本对新增项目进行打包部署,一方面,使得后端能访问到前端所有git服务的资源文件,支持多个前端服务;另一方面,能适用于所有重构项目的打包部署,通用性强。

在上述实施例的基础上,本实施例中所述步骤s102还包括:若所述新增项目有单独的访问域名,则为所述新增项目创建一个新的打包部署任务,执行所述新的打包部署任务对所述新增项目进行打包部署;

具体地,如果新增项目有单独的访问域名,则为新增项目创建一个新的打包部署任务。这个新的打包部署任务此时只对新增项目进行打包部署。从而实现使用多个打包任务对目标项目进行打包部署,即将目标项目打包成压缩包推送到服务器上。在对目标项目进行打包部署完成后,可以对目标项目进行正常访问。在上述实施例的基础上,本实施例中执行所述新的打包部署任务对所述新增项目进行打包部署的步骤具体包括:在所述目标项目的后端配置文件中添加与所述新增项目的访问域名对应的预设存放路径;使用所述新的打包部署任务中的构建脚本将所述新增项目的前端源代码和后端源代码分别转换为软件包,并根据所述预设存放路径对前端源代码的软件包进行存放;使用所述新的打包部署任务中的打包脚本将所述前端源代码的软件包和所述后端源代码的软件包分别进行打包,生成所述新增项目的压缩包;根据所述压缩包,使用所述新的打包部署任务中的部署脚本对所述新增项目进行部署。

具体地,当新增项目有单独的访问域名时,直接创建一个新的打包部署任务对新增项目进行部署。在后端配置文件中添加新增项目的访问域名对应的预设存放路径。该预设存放路径用于存放前端源代码的构建产物,即软件包。从而使得后端能根据前端软件包的预设存放路径访问前端软件包。使用构建脚本将新增项的目源代码转换为相应的软件包。新增项目的源代码包括开发后的可执行文件和文档。其中,将新增项目的前端源代码转换为内容分发网络(contentdeliverynetwork,cdn)文件,将新增项目的后端源代码转换为jar包或war包。根据不同重构场景,将前端源代码和后端源代码分别转换为一个或多个软件包。例如,在对新增项目的前端进行重构时,增加独立的前端仓库用于对新增项目的前端源代码进行存储。分别对不同的仓库进行构建,将构建的各产物放置按照相应的预设存放路径进行存放,后端根据各产生的预设存放路径可以加载到前端的不同产物。根据构建工具配置中新增项目的仓库预设地址和构建产物的存放路径使用打包脚本将软件包进行打包,生成压缩包。使用部署脚本对压缩包进行部署。

在上述各实施例的基础上,本实施例中,所述s102步骤进一步包括:在所述原有打包部署任务的构建脚本和所述目标项目的后端配置文件中添加所述新增项目前端源码的内容分发网络文件的预设存放路径;在所述原有打包部署任务的构建工具配置中添加所述新增项目的仓库预设地址;其中,所述仓库用于保存所述新增项目的源代码。

具体地,当新增项目没有单独的访问域名时,在原有打包部署任务的构建脚本和后端配置文件中添加新增项目前端源码的cdn文件的预设存放路径。在原有打包部署任务的构建工具配置中添加新增项目的仓库预设地址。通过将前端产物的预设存放路径和新增项目的仓库预设地址作为公共参数,从而个性化配置产物和仓库的存放路径。原有打包部署任务的脚本中有多个git服务,使用for循环针对多个git服务分别进行打包部署。使用修改后的构建脚本将新增项目的源代码转换为软件包,即前端产物,根据前端产物的预设存放路径对前端产物进行存放,以供后端进行访问。根据仓库预设地址和软件包,使用打包脚本对软件包进行打包。使用部署脚本将打包的压缩文件进行部署。

在本发明的另一个实施例中提供一种支持服务重构的打包部署装置,该装置用于实现前述各实施例中的方法。因此,在前述支持服务重构的打包部署方法的各实施例中的描述和定义,可以用于本发明实施例中各个执行模块的理解。图2为本发明实施例提供的支持服务重构的打包部署装置整体结构示意图,该装置包括判断模块201和打包部署模块202;其中:

判断模块201用于判断目标项目的新增项目是否有单独的访问域名;

其中,目标项目为需要进行重构的项目,新增项目为目标项目中新增加的一个项目,从而实现目标项目功能的增加。新增项目与目标项目所使用的框架不同,所以需要增加一个新的git(分布式版本控制系统)服务以实现新增项目的功能。判断模块201判断目标项目的新增项目是否具有单独的访问域名,即需要重构的目标项目是否有新增的访问域名。

打包部署模块202用于在所述新增项目没有单独的访问域名时,在所述目标项目原有打包部署任务的脚本中添加所述新增项目的参数信息,以支持所述新增项目的git服务,使用修改后的脚本对所述新增项目进行打包部署。

如果新增项目没有单独的访问域名,则打包部署模块202通过在目标项目原有打包部署任务的脚本中添加新增项目的参数信息。其中,新增项目的参数信息为新增项目在打包部署过程中的资源文件路径。从而实现对新增git服务的构建,将打包部署过程中新增项目的资源文件按照添加的相应路径进行保存,使得后端能访问到前端所有git服务的资源文件。使用修改后的脚本对新增项目进行打包部署。在对目标项目进行打包部署完成后,可以对目标项目进行正常访问。

本实施例通过在新增项目没有单独的访问域名,则在目标项目原有打包部署任务的脚本中添加新增项目的参数信息,以支持新增项目git服务,使用修改后的脚本对新增项目进行打包部署,一方面,使得后端能访问到前端所有git服务的资源文件,支持多个前端服务;另一方面,能适用于所有重构项目的打包部署,通用性强。

在上述实施例的基础上,本实施例中所述打包部署模块还用于:在所述新增项目有单独的访问域名时,为所述新增项目创建一个新的打包部署任务,执行所述新的打包部署任务对所述新增项目进行打包部署。

在上述实施例的基础上,本实施例中打包部署模块包括:添加子模块,用于在所述目标项目的后端配置文件中添加与所述新增项目的访问域名对应的预设存放路径;构建子模块,用于使用所述新的打包部署任务中的构建脚本将所述新增项目的前端源代码和后端源代码分别转换为软件包,并根据所述预设存放路径对前端源代码的软件包进行存放;打包子模块,用于使用所述新的打包部署任务中的打包脚本将所述前端源代码和所述后端源代码的软件包分别进行打包,生成所述新增项目的压缩包;部署子模块,用于根据所述压缩包,使用所述新的打包部署任务中的部署脚本对所述新增项目进行部署。

在上述实施例的基础上,本实施例中所述构建子模块具体用于:为所述新增项目创建多个前端仓库;其中,所述前端仓库用于存储所述新增项目的前端源代码;使用所述新的打包部署任务中的构建脚本,将各所述前端仓库中的前端源转换为内容分发网络文件;根据各所述内容分发网络文件的预设存放路径,对各所述内容分发网络文件进行存放。

在上述各实施例的基础上,本实施例中所述打包部署模块进一步用于:在所述原有打包部署任务的构建脚本和所述目标项目的后端配置文件中添加所述新增项目前端源码的cdn文件的预设存放路径;在所述原有打包部署任务的构建工具配置中添加所述新增项目的仓库预设地址;其中,所述仓库用于保存所述新增项目的源代码。

本实施例提供一种电子设备,图3为本发明实施例提供的电子设备整体结构示意图,该设备包括:至少一个处理器301、至少一个存储器302和总线303;其中,

处理器301和存储器302通过总线303完成相互间的通信;

存储器302存储有可被处理器301执行的程序指令,处理器调用程序指令能够执行上述各方法实施例所提供的方法,例如包括:判断目标项目的新增项目是否有单独的访问域名;若所述新增项目没有单独的访问域名,则在所述目标项目原有打包部署任务的脚本中添加所述新增项目的参数信息,以支持所述新增项目的git服务,使用修改后的脚本对所述新增项目进行打包部署。

本实施例提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述各方法实施例所提供的方法,例如包括:判断目标项目的新增项目是否有单独的访问域名;若所述新增项目没有单独的访问域名,则在所述目标项目原有打包部署任务的脚本中添加所述新增项目的参数信息,以支持所述新增项目的git服务,使用修改后的脚本对所述新增项目进行打包部署。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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