代码部署方法及装置制造方法及图纸

技术编号:15894967 阅读:30 留言:0更新日期:2017-07-28 19:39
本申请实施例提供一种代码部署方法及装置,其中所述方法包括:获得业务系统下的目标子系统对应的环境标识;基于配置文件,确定与所述环境标识对应的代码模块;从所述业务系统对应的原始代码文件中,抽取与确定的所述代码模块对应的目标代码文件;将所述目标代码文件安装到所述目标子系统。本申请实施例通过开发一套原始代码文件,即可实现在多个子系统分别部署代码的目的,降低代码开发成本。并且后续仅需要维护一套代码,而不需要针对每一子系统分别维护一套代码,在一定程度上提升代码的维护效率。

Code deployment method and device

The embodiment of the present invention provides a code deployment method and device, wherein said method comprises: obtaining a corresponding target subsystem operation system under environment identification; based on the configuration file, determine the code module corresponding to the environmental labeling; from the business system corresponding to the original code file, extract and determine the code module corresponding to the object code file; install the target code files to the target subsystem. Through the development of a set of original code files, the application can realize the goal of deploying code in multiple subsystems and reducing the cost of code development. And the follow-up only needs to maintain a set of code, but does not need to maintain a set of codes separately for each subsystem, promotes the code maintenance efficiency to a certain extent.

【技术实现步骤摘要】
代码部署方法及装置
本申请涉及软件开发
,尤其涉及一种代码部署方法及装置。
技术介绍
目前,业务系统根据实际业务及需求的发展,会包含一个或多个存在同质化业务需求的子系统。相关技术中,针对同质化的业务,一般需要分别为业务系统下的每一子系统部署一套相应的实现代码,由于需要针对同一业务系统下的各子系统开发和部署多套代码,造成代码开发成本的上升,且不利于代码的后续维护。
技术实现思路
有鉴于此,本申请提供一种代码部署方法及装置。为实现上述目的,本申请提供技术方案如下:根据本申请的第一方面,提出了一种代码部署方法,包括:获得业务系统下的目标子系统对应的环境标识;基于配置文件,确定与所述环境标识对应的代码模块;从所述业务系统对应的原始代码文件中,抽取与确定的所述代码模块对应的目标代码文件;将所述目标代码文件安装到所述目标子系统。根据本申请的第二方面,提出了一种代码部署装置,包括:获得单元,用于获得业务系统下的目标子系统对应的环境标识;确定单元,用于基于配置文件,确定与所述环境标识对应的代码模块;抽取单元,用于从所述业务系统对应的原始代码文件中,抽取与确定的所述代码模块对应的目标代码文件;安装单元,用于将所述目标代码文件安装到所述目标子系统。由以上技术方案可见,在业务系统包括一个或多个子系统的情况下,在部署代码的过程中,本申请实施例通过获得待部署代码的目标子系统的环境标识,并基于配置文件,确定所述环境标识对应的代码模块;接着,从所述业务系统对应的原始代码文件中,抽取与确定的所述代码模块对应的目标代码文件;最终,将所述目标代码文件安装到所述目标子系统上。可见,本申请实施例针对同一个业务系统,开发与该业务系统对应的一套原始代码文件,在部署代码时,根据环境标识从上述原始代码文件抽取每一子系统所需要部署的目标代码文件,以完成部署。本申请实施例通过开发一套原始代码文件,即可实现在多个子系统分别部署代码的目的,降低代码开发成本。并且后续仅需要维护一套代码,而不需要针对每一子系统分别维护一套代码,在一定程度上提升代码的维护效率。附图说明图1是本申请一示例性实施例提供的一种代码部署方法的流程图;图2是本申请一示例性实施例提供的一种代码框架的结构示意图;图3是本申请一示例性实施例提供的一种代码部署方法的场景图;图4是本申请一示例性实施例提供的一种电子设备的结构示意图;图5是本申请一示例性实施例提供的一种代码部署装置的框图。具体实施方式通常,根据业务系统所需实现的各种功能,需要开发相应的功能实现代码并部署到该业务系统上。例如,对于一种互联网金融平台,其需要实现的功能(或业务)可包括:会员、账务、资产等,需要分别开发相应功能的实现代码。当前,随着各类业务系统的业务发展,会产生一个或多个存在同质化业务需求的子业务系统(以下简称为“子系统”),所谓“同质化”是指这些子业务系统在某些业务上存在一些共性或具备近似的实现过程。例如,对于一种互联网金融平台,可能随着业务发展,业务会分布在多个域(如:主站、国际、网商等),其中每个“域”对应于一个子系统。在相关技术中,针对业务系统中某一种同质化的业务,一般需要分别为业务系统下的每一子系统部署一套相应的实现代码,例如:若互联网金融平台的业务分布在主站、国际、网商等多个域,则针对“会员”这一业务,需要分别在主站、国际、网商等多个域部署一套用于实现各个域的“会员”业务的实现代码。可见,随着子系统数量的增加,开发者需要针对同一业务系统下的各子系统开发和部署多套代码,这在一定程度上造成代码开发成本的上升,并且,后期需要维护多套代码,导致代码维护过程耗时耗力。为解决上述问题,提出了本申请实施例的如下方案。图1是本申请一示例性实施例提供的一种代码部署方法的流程图,参图1所示,本实施例中,该代码部署方法可以应用在用于将代码部署到各个子系统上的电子设备(该设备可安装有相应的代码部署工具)上,该代码部署方法包括下述步骤101~104,其中:在步骤101中,获得业务系统下的目标子系统对应的环境标识。其中,预先为业务系统下的每一个子系统分别定义一个环境标识,该环境标识在所述业务系统中是唯一的,并用于标识每个子系统。例如,对于某一互联网金融平台,若包括子系统a、b,则可以定义子系统a的环境标识为“XXX”,定义子系统b的环境标识为“YYY”。本申请实施例中,上述“目标子系统”为需要部署代码的子系统。在将代码部署到目标子系统之前,需要针对业务系统按照预设的代码框架开发一套原始代码文件,其中,所述原始代码文件可包含所述业务系统下的各个子系统所需部署的代码文件。关于原始代码文件所采用的代码框架,将在下文进行详细介绍。本申请一实施例中,所述步骤101可具体通过下述过程来实现:在代码打包时,从标识传入命令中读取目标子系统对应的环境标识。例如,开发者可以通过软件配置管理(SoftwareConfigurationManagement,SCM)工具(如:Maven)发起打包命令,如:mvnpackage。其中,在打包时,可以通过标识传入命令,传入所需部署的子系统对应的环境标识app,标识传入命令例如为:mvn–Dapp=xxx。当然,在可行的其他实施例中,所述环境标识也可以被携带在代码打包命令中。在步骤102中,基于配置文件,确定与所述环境标识对应的代码模块。本申请实施例中,对于业务系统下各个子系统而言,其实现代码的差异性主要体现在:1、各子系统所依赖的文件包(如:jar包等)存在差异。例如:不同子系统依赖于不同版本的jar包。2、所需实现的接口及实现接口过程中所采用的模型存在差异。例如:不同子系统的“会员接口”返回的会员ID不一致,“网商子系统”返回的会员ID为:ipRoleId,“国际子系统”返回的会员ID为:userId。虽然,各个子系统在代码实现上存在上述差异,但由于存在同质化的业务需求,各个子系统总体的业务实现流程相似或基本一致。鉴于各个子系统总体的业务实现流程基本一致,本申请实施例中,开发者开发出一套可以被多个子系统所公用的代码框架,开发者可以依据这一代码框架编写原始代码文件。如图2所示,该代码框架按照实现功能可以划分成多个功能层,每一功能层还可以包括一个或多个组件(component),其中,每个组件可以代表一个代码模块。举例而言,功能层可包括:test层、core层、service层等。其中,各个组件之间可以存在一定的依赖关系(图中箭头表示依赖和被依赖的关系)。本申请实施例中,所述代码框架可以为java代码框架等。本申请一实施例中,所述代码框架可包括adapter层10和一个或多个integration层,每一个子系统对应于一个integration层,以通过该integration层中的代码文件来实现相应子系统的业务。在示例性的实施例中,假设某业务系统下包含子系统a、b,则子系统a可对应于integration层21,子系统b可对应于integration层22。本文为便于描述,可将代码框架中除adapter层及integration层之外的其余功能层定义为“公共功能层”,另外,将存在于integration层的代码文件定义为“integration层代码文件”,将存在于adapter层的代码文件定义为“a本文档来自技高网...
代码部署方法及装置

【技术保护点】
一种代码部署方法,其特征在于,所述方法包括:获得业务系统下的目标子系统对应的环境标识;基于配置文件,确定与所述环境标识对应的代码模块;从所述业务系统对应的原始代码文件中,抽取与确定的所述代码模块对应的目标代码文件;将所述目标代码文件安装到所述目标子系统。

【技术特征摘要】
1.一种代码部署方法,其特征在于,所述方法包括:获得业务系统下的目标子系统对应的环境标识;基于配置文件,确定与所述环境标识对应的代码模块;从所述业务系统对应的原始代码文件中,抽取与确定的所述代码模块对应的目标代码文件;将所述目标代码文件安装到所述目标子系统。2.根据权利要求1所述的方法,其特征在于,所述代码模块包括adapter层代码文件和integration层代码文件,所述adapter层代码文件用于定义所述目标子系统使用的对象,所述integration层代码文件用于按照所述目标子系统的业务逻辑实现所述对象。3.根据权利要求2所述的方法,其特征在于,所述adapter层代码文件定义的对象为各个子系统通用的对象。4.根据权利要求2或3所述的方法,其特征在于,所述对象包括接口、和/或模型、和/或接口中包含的入参和出参。5.根据权利要求1所述的方法,其特征在于,所述基于配置文件,确定与所述环境标识对应的代码模块,包括:基于配置文件,确定与所述环境标识对应的依赖文件包和代码模块,所述依赖文件包用以构建所述代码模块。6.根据权利要求1所述的方法,其特征在于,所述从所述业务系统对应的原始代码文件中,抽取与确定的所述代码模块对应的目标代码文件,包括:从原始代码文件中,抽取与所述环境标识对应的adapter层代码文件和公共功能层代码文件;所述原始代码文件包含所述业务系统下的各个子系统的代码文件;从原始代码文件中,抽取与所述环境标识对应的integration层代码文件;将抽取的adapter层代码文件、公共功能层代码文件和integration层代码文件打包成目标代码文件。7.根据权利要求1所述的方法,其特征在于,所述获得业务系统下的目标子系统对应的环境标识,包括:在代码打包时,从标识传入命令中读取目标子系统对应的环境标识。8.根据权利要求1所述的方法,其特征在于,从所述业务系统对应的原始代码文件中,抽取与确定的所述代码模块对应的目标代码文后,将所述目标代码文件安装到所述目标子系统前,还包括:获得与所述环境标识对应的...

【专利技术属性】
技术研发人员:张繁
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1