CN112965954A - 代码管理方法、装置、计算机设备及存储介质 - Google Patents
代码管理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112965954A CN112965954A CN202110272378.7A CN202110272378A CN112965954A CN 112965954 A CN112965954 A CN 112965954A CN 202110272378 A CN202110272378 A CN 202110272378A CN 112965954 A CN112965954 A CN 112965954A
- Authority
- CN
- China
- Prior art keywords
- project
- sub
- library
- parameter
- code
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及数据处理技术领域,公开了一种代码管理方法、装置、计算机设备及存储介质,所述代码管理方法包括:响应于用户发送的项目创建指令,确定所述项目创建指令对应的第一参数和多个第二参数;获取所述第一参数对应的前端代码库,并根据所述第一参数构建主项目库;根据每个第二参数在所述主项目库中构建子项目库,多个所述子项目库之间物理隔离;确定每个子项目库对应的服务配置;根据每个子项目库对应的服务配置,在所述前端代码库中确定每个子项目库对应的代码;将每个代码部署至对应的子项目库中,并对每个子项目库进行封装得到子项目包。本申请提高了代码的管理效率。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种代码管理方法、装置、计算机设备及存储介质。
背景技术
随着项目中前端比重越来越大,势必造成前端代码越来越多,项目越来越复杂,项目中各个模块维护也变的异常困难,后续梳理和维护成本也会相应增加,不利于产品的迭代更新。目前往往会对项目的前端代码库进行拆库处理成多个子代码库,将多个子代码库融合在一起管理,在代码管理层面提高了管理效率,但是在代码实际开发中还是需要处理不少的配置关系,所以导致项目前端代码的整体管理效率不高。
发明内容
鉴于以上内容,有必要提出一种代码管理方法、装置、计算机设备及存储介质,能够提高代码的管理效率。
本申请的第一方面提供了一种代码管理方法,所述代码管理方法包括:
响应于用户发送的项目创建指令,确定所述项目创建指令对应的第一参数和多个第二参数;
获取所述第一参数对应的前端代码库,并根据所述第一参数构建主项目库;
根据每个第二参数在所述主项目库中构建子项目库,多个所述子项目库之间物理隔离;
确定每个子项目库对应的服务配置;
根据每个子项目库对应的服务配置,在所述前端代码库中确定每个子项目库对应的代码;
将每个代码部署至对应的子项目库中,并对每个子项目库进行封装得到子项目包。
根据本申请的一个可选的实施例,所述将每个代码部署至对应的子项目库中包括:
获取所述每个子项目库对应的配置文件;
基于所述配置文件确定对应的子项目库的部署环境;
以所述部署环境对应的代码测试方式对对应的代码进行测试,得到子数据库代码;
将所述子数据库代码和对应的配置文件部署至对应的子项目库中。
根据本申请的一个可选的实施例,所述确定所述项目创建指令对应的第一参数和多个第二参数包括:
获取所述项目创建指令的指令报文;
从配置标签库中获取报文分割标识符;
基于所述报文分割标识符对所述指令报文进行分割,得到所述项目创建指令对应的第一参数;
根据所述第一参数查询参数映射表,得到多个第二参数。
根据本申请的一个可选的实施例,所述参数映射表的生成过程包括:
获取第一历史参数对应的历史前端代码库;
确定所述历史前端代码库对应的多个历史服务配置;
根据所述多个历史服务配置确定多个历史第二参数;
根据所述历史第一参数和所述多个历史第二参数生成参数映射表。
根据本申请的一个可选的实施例,所述确定每个子项目库对应的服务配置包括:
以每个子项目库对应的第二参数为查询词,查询预设的服务配置表,得到每个子项目库对应的服务配置。
根据本申请的一个可选的实施例,所述方法还包括:
当侦测到用户对任意一个代码的预设操作时,确定所述预设操作对应的目标主项目库;
在所述目标主项目库中的多个子项目包中确定目标项目包;
根据所述预设操作对所述目标项目包进行处理。
根据本申请的一个可选的实施例,所述确定所述预设操作对应的目标主项目库包括:
获取所述预设操作对应代码的代码信息;
读取所述代码信息确定目标第一参数;
根据所述目标第一参数确定所述预设操作对应的目标主项目库。
本申请的第二方面提供了一种代码管理装置,所述装置包括:
参数确定模块,用于响应于用户发送的项目创建指令,确定所述项目创建指令对应的第一参数和多个第二参数;
主库创建模块,用于获取所述第一参数对应的前端代码库,并根据所述第一参数构建主项目库;
子库创建模块,用于根据每个第二参数在所述主项目库中构建子项目库,多个所述子项目库之间物理隔离;
配置确定模块,用于确定每个子项目库对应的服务配置;
代码确定模块,用于根据每个子项目库对应的服务配置,在所述前端代码库中确定每个子项目库对应的代码;
项目封装模块,用于将每个代码部署至对应的子项目库中,并对每个子项目库进行封装得到子项目包。
本申请的第三方面提供了一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序时实现如上述的代码管理方法。
本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述的代码管理方法。
本申请实施例公开了一种代码管理方法、装置、计算机设备及存储介质,通过响应于用户发送的项目创建指令,确定所述项目创建指令对应的第一参数和多个第二参数;获取所述第一参数对应的前端代码库,并根据所述第一参数构建主项目库;根据每个第二参数在所述主项目库中构建子项目库,多个所述子项目库之间物理隔离;确定每个子项目库对应的服务配置;根据每个子项目库对应的服务配置,在所述前端代码库中确定每个子项目库对应的代码;最后所述每个代码部署至对应的子项目库中,并对每个子项目库进行封装得到子项目包。本申请按照第一参数和第二参数创建主项目库和多个子项目库,并通过每个子项目库对应的服务配置对前端代码库进行有规律地拆库,方便后续进行管理,同时将拆分得到的代码存储至所述多个多个子项目库后,对每个子项目库进行封装得到多个子项目包,所述多个子项目包可以独立使用和独立发布,进一步提高了前端代码的管理效率。
附图说明
图1是本申请实施例提供的一种代码管理方法的流程示意图;
图2是本申请实施例提供的一种代码管理装置的示意性框图;
图3是本申请实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本申请实施例提供一种代码管理方法、装置、计算机设备及计算机可读存储介质。其中,该代码管理方法可应用于终端设备或服务器中,该终端设备可以手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备,该服务器可以为单台的服务器,也可以为由多台服务器组成的服务器集群。以下以该代码管理方法应用于服务器为例进行解释说明。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1,图1是本申请实施例提供的一种代码管理方法的示意流程图。
如图1所示,所述代码管理方法具体包括步骤S11至S16,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
S11,响应于用户发送的项目创建指令,确定所述项目创建指令对应的第一参数和多个第二参数。
示例性的,所述项目创建指令可以是micro-cli命令,所述micro-cli命令可以携带两种不同类型的参数,即第一参数和第二参数。不同的参数类型用于表示不同的项目类型。不同类型的参数可带有不同类型的参数标识,如main表示主项目,即表示第一参数,name表示子项目名称,即标识第二参数。
在一些实施方式中,所述确定所述项目创建指令对应的第一参数和多个第二参数包括:
获取所述项目创建指令的指令报文;
从配置标签库中获取报文分割标识符;
基于所述报文分割标识符对所述指令报文进行分割,得到所述项目创建指令对应的第一参数;
根据所述第一参数查询参数映射表,得到多个第二参数。
示例性的,预先设置配置标签库,所述配置标签库中存储了多种信息对应的报文分割标识符,如参数信息对应的报文分割标识符。所述报文分割标识符用于标识报文进行切割的位置,例如所述报文分割标识符用于标记所述第一参数在所述指令报文中的起始位置。基于所述报文分割标识符的位置,得到所述项目创建指令对应的第一参数。
根据查询预设的参数映射表,通过第一参数与第二参数之间的映射关系,确定所述项目创建指令对应的多个第二参数。用户只需输入第一参数,无需直接输入第二参数,方便了用户进行操作,提高了项目创建的效率。
在一些实施方式中,所述参数映射表的生成过程包括:
获取第一历史参数对应的历史前端代码库;
确定所述历史前端代码库对应的多个历史服务配置;
根据所述多个历史服务配置确定多个历史第二参数;
根据所述历史第一参数和所述多个历史第二参数生成参数映射表。
示例性的,确定第一历史参数,根据所述第一历史参数获取所述第一历史参数对应的历史前端代码库。所述第一历史参数和所述历史前端代码库具有一一对应的关系。查询所述历史前端代码库的配置信息,确定所述历史前端代码库对应的多个历史服务配置。确定所述多个历史服务配置中每个历史服务配置对应的历史第二参数,得到多个历史第二参数。根据所述历史第一参数和所述多个历史第二参数生成参数映射表,其中所述参数映射表包括所述历史第一参数和所述多个历史第二参数之间的映射关系。可以将设置好的参数映射表上传至区块链中,保证所述参数映射表的安全性。
示例性的,当获取到用户对所述第一参数对应的前端数据库的更新操作时,根据所述更新操作更新所述参数映射表。例如确定所述更新操作对应的服务配置,并根据所述服务配置对应的第二参数更新所述参数映射表。所述更新操作包括包括增加操作、修改操作和/或删除操作。
S12,获取所述第一参数对应的前端代码库,并根据所述第一参数构建主项目库。
不同的第一参数对应着不同的前端代码库。示例性的,可预先设置根据第一参数与前端代码库之间的映射关系生成参数匹配表,通过所述参数匹配表可快速匹配到所述第一参数对应的前端代码库。
其中,所述主项目库作为容器,用于存储多个子项目库,所述多个子项目库之间物理隔离。示例性的,可以根据所述第一参数设置所述主项目库的名称,方便后续进行管理。
S13,根据每个第二参数在所述主项目库中构建子项目库,多个所述子项目库之间物理隔离。
根据每个第二参数在所述主项目库中构建所述每个第二参数对应的子项目库。其中多个所述子项目库之间物理隔离。示例性的,可以根据所述第二参数设置所述多个子项目库的名称,方便后续进行管理。
S14,确定每个子项目库对应的服务配置。
其中,所述子项目库对应的服务配置用于确定子项目库对应的代码。
在一些实施方式中,所述确定每个子项目库对应的服务配置包括:
以每个子项目库对应的第二参数为查询词,查询预设的服务配置表,得到每个子项目库对应的服务配置。
示例性的,预先设置服务配置表,所述服务配置表中包括第二参数与服务配置之间的映射关系。可以将设置好的服务配置表上传至区块链中,保证所述服务配置表的安全性。
根据每个子项目库对应的第二参数为查询词,查询预设的服务配置表,确定每个子项目库对应的服务配置。例如,根据子项目库A对应的第二参数为查询词,查询预设的服务配置表,确定子项目库A对应的服务配置。
S15,根据每个子项目库对应的服务配置,在所述前端代码库中确定每个子项目库对应的代码。
示例性的,根据每个子项目库对应的服务配置在所述前端代码库中查询每个服务配置对应的代码,得到多个代码,即得到所述多个子项目库对应的多个代码。例如根据子项目库A的服务配置在所述前端代码库中查询子项目库A的服务配置对应的代码,得到子项目库A对应的代码,根据子项目库B的服务配置在所述前端代码库中查询子项目库B的服务配置对应的代码,得到子项目库B对应的代码。
S16,将每个代码部署至对应的子项目库中,并对每个子项目库进行封装得到子项目包。
将每个子项目库对应的代码部署至对应的子项目库,例如,将项目库A对应的代码部署至子项目库A,将项目库B对应的代码部署至子项目库B。将每个子项目库对应的代码都部署至对应的子项目库后,对所述多个子项目库进行封装,得到多个子项目包。其中,所述子项目包之间物理隔离,可以独立使用和独立发布。
示例性的,所述将每个子项目库对应的代码部署至所述多个子项目库,包括:获取每个子项目库对应的配置文件,将每个子项目库对应的配置文件和代码部署至所述多个子项目库。
在一些实施方式中,所述将每个代码部署至对应的子项目库中包括:
获取所述每个子项目库对应的配置文件;
基于所述配置文件确定对应的子项目库的部署环境;
以所述部署环境对应的代码测试方式对对应的代码进行测试,得到子数据库代码;
将所述子数据库代码和对应的配置文件部署至对应的子项目库中。
示例性的,获取所述每个子项目库对应的部署文件,基于所述部署文件确定所述部署文件对应子项目库对应的部署环境。根据所述部署环境对应的代码测试方式对对应的代码进行测试,得到子数据库代码。将得到的子数据库代码和所述子数据库代码对应的配置文件部署至对应的子项目库中。其中,所述子数据库代码可在对应的部署环境下正常运行,从而提高软件管理的效率。
所述子项目包包括npm格式的数据包和/或Git格式的数据包。
示例性的,得到多个子项目包后,生成所述多个子项目包对应的调用信息。例如,可将所述调用信息发送至客户端,以便用户根据所述调用信息调用所述多个子项目包。
示例性的,所述调用信息的格式可以根据用户的偏好进行自定义设置。例如,所述调用信息的格式可以为modules/demo url,其中,modules/demo表示所述子项目包对应的主项目库,url表示所述子项目包在所述主项目库中的地址。
在一些实施方式中,所述方法还包括:
当侦测到用户对任意一个代码的预设操作时,确定所述预设操作对应的目标主项目库;
在所述目标主项目库中的多个子项目包中确定目标项目包;
根据所述预设操作对所述目标项目包进行处理。
示例性的,当获取到用户对代码的预设操作时,确定所述预设操作对应的目标主项目库,在所述主项目库中的多个子项目包中确定所述代码对应的目标项目包,并根据用户的预设操作对所述目标项目包进行相应的预设操作。通过用户对代码的预设操作,对所述多个子项目包进行相应的处理,保证所述多个子项目包的有效性,从而提高前端代码的管理效率。其中,所述预设操作包括增加操作、修改操作和删除操作。
在一些实施方式中,所述确定所述预设操作对应的目标主项目库包括:
获取所述预设操作对应代码的代码信息;
读取所述代码信息确定目标第一参数;
根据所述目标第一参数确定所述预设操作对应的目标主项目库。
示例性的,通过代码信息可以确定所述代码对应的前端代码库,从而确定所述代码对应的第一参数,查询所述第一参数对应的主项目库,将所述第一参数对应的主项目库确定为所述预设操作对应的主项目库。
上述实施例提供的代码管理方法,通过响应于用户发送的项目创建指令,确定所述项目创建指令对应的第一参数和多个第二参数;获取所述第一参数对应的前端代码库,并根据所述第一参数构建主项目库;根据每个第二参数在所述主项目库中构建子项目库,多个所述子项目库之间物理隔离;确定每个子项目库对应的服务配置;根据每个子项目库对应的服务配置,在所述前端代码库中确定每个子项目库对应的代码;最后所述每个代码部署至对应的子项目库中,并对每个子项目库进行封装得到子项目包。本申请按照第一参数和第二参数创建主项目库和多个子项目库,并通过每个子项目库对应的服务配置对前端代码库进行有规律地拆库,方便后续进行管理,同时将拆分得到的代码存储至所述多个多个子项目库后,对每个子项目库进行封装得到多个子项目包,所述多个子项目包可以独立使用和独立发布,进一步提高了前端代码的管理效率。
请参阅图2,图2是本申请的实施例提供的一种代码管理装置的示意性框图,该代码管理装置用于执行前述的代码管理方法。其中,该代码管理装置可以配置于服务器或终端中。
其中,服务器可以为独立的服务器,也可以为服务器集群。该终端可以是手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备。
如图2所示,代码管理装置20包括:参数确定模块201、主库创建模块202、子库创建模块203、配置确定模块204、代码确定模块205和项目封装模块206。
参数确定模块201,用于响应于用户发送的项目创建指令,确定所述项目创建指令对应的第一参数和多个第二参数。
示例性的,所述项目创建指令可以是micro-cli命令,所述micro-cli命令可以携带两种不同类型的参数,即第一参数和第二参数。不同的参数类型用于表示不同的项目类型。不同类型的参数可带有不同类型的参数标识,如main表示主项目,即表示第一参数,name表示子项目名称,即标识第二参数。
在一些实施方式中,参数确定模块201确定所述项目创建指令对应的第一参数和多个第二参数包括:
获取所述项目创建指令的指令报文;
从配置标签库中获取报文分割标识符;
基于所述报文分割标识符对所述指令报文进行分割,得到所述项目创建指令对应的第一参数;
根据所述第一参数查询参数映射表,得到多个第二参数。
示例性的,预先设置配置标签库,所述配置标签库中存储了多种信息对应的报文分割标识符,如参数信息对应的报文分割标识符。所述报文分割标识符用于标识报文进行切割的位置,例如所述报文分割标识符用于标记所述第一参数在所述指令报文中的起始位置。基于所述报文分割标识符的位置,得到所述项目创建指令对应的第一参数。
根据查询预设的参数映射表,通过第一参数与第二参数之间的映射关系,确定所述项目创建指令对应的多个第二参数。用户只需输入第一参数,无需直接输入第二参数,方便了用户进行操作,提高了项目创建的效率。
在一些实施方式中,所述参数映射表的生成过程包括:
获取第一历史参数对应的历史前端代码库;
确定所述历史前端代码库对应的多个历史服务配置;
根据所述多个历史服务配置确定多个历史第二参数;
根据所述历史第一参数和所述多个历史第二参数生成参数映射表。
示例性的,确定第一历史参数,根据所述第一历史参数获取所述第一历史参数对应的历史前端代码库。所述第一历史参数和所述历史前端代码库具有一一对应的关系。查询所述历史前端代码库的配置信息,确定所述历史前端代码库对应的多个历史服务配置。确定所述多个历史服务配置中每个历史服务配置对应的历史第二参数,得到多个历史第二参数。根据所述历史第一参数和所述多个历史第二参数生成参数映射表,其中所述参数映射表包括所述历史第一参数和所述多个历史第二参数之间的映射关系。可以将设置好的参数映射表上传至区块链中,保证所述参数映射表的安全性。
示例性的,当获取到用户对所述第一参数对应的前端数据库的更新操作时,根据所述更新操作更新所述参数映射表。例如确定所述更新操作对应的服务配置,并根据所述服务配置对应的第二参数更新所述参数映射表。所述更新操作包括包括增加操作、修改操作和/或删除操作。
主库创建模块202,用于获取所述第一参数对应的前端代码库,并根据所述第一参数构建主项目库。
不同的第一参数对应着不同的前端代码库。示例性的,可预先设置根据第一参数与前端代码库之间的映射关系生成参数匹配表,通过所述参数匹配表可快速匹配到所述第一参数对应的前端代码库。
其中,所述主项目库作为容器,用于存储多个子项目库,所述多个子项目库之间物理隔离。示例性的,可以根据所述第一参数设置所述主项目库的名称,方便后续进行管理。
子库创建模块203,用于根据每个第二参数在所述主项目库中构建子项目库,多个所述子项目库之间物理隔离。
根据每个第二参数在所述主项目库中构建所述每个第二参数对应的子项目库。其中多个所述子项目库之间物理隔离。示例性的,可以根据所述第二参数设置所述多个子项目库的名称,方便后续进行管理。
配置确定模块204,用于确定每个子项目库对应的服务配置。
其中,所述子项目库对应的服务配置用于确定子项目库对应的代码。
在一些实施方式中,配置确定模块204确定每个子项目库对应的服务配置包括:
以每个子项目库对应的第二参数为查询词,查询预设的服务配置表,得到每个子项目库对应的服务配置。
示例性的,预先设置服务配置表,所述服务配置表中包括第二参数与服务配置之间的映射关系。可以将设置好的服务配置表上传至区块链中,保证所述服务配置表的安全性。
根据每个子项目库对应的第二参数为查询词,查询预设的服务配置表,确定每个子项目库对应的服务配置。例如,根据子项目库A对应的第二参数为查询词,查询预设的服务配置表,确定子项目库A对应的服务配置。
代码确定模块205,用于根据每个子项目库对应的服务配置,在所述前端代码库中确定每个子项目库对应的代码。
示例性的,根据每个子项目库对应的服务配置在所述前端代码库中查询每个服务配置对应的代码,得到多个代码,即得到所述多个子项目库对应的多个代码。例如根据子项目库A的服务配置在所述前端代码库中查询子项目库A的服务配置对应的代码,得到子项目库A对应的代码,根据子项目库B的服务配置在所述前端代码库中查询子项目库B的服务配置对应的代码,得到子项目库B对应的代码。
项目封装模块206,用于将每个代码部署至对应的子项目库中,并对每个子项目库进行封装得到子项目包。
将每个子项目库对应的代码部署至对应的子项目库,例如,将项目库A对应的代码部署至子项目库A,将项目库B对应的代码部署至子项目库B。将每个子项目库对应的代码都部署至对应的子项目库后,对所述多个子项目库进行封装,得到多个子项目包。其中,所述子项目包之间物理隔离,可以独立使用和独立发布。
示例性的,所述将每个子项目库对应的代码部署至所述多个子项目库,包括:获取每个子项目库对应的配置文件,将每个子项目库对应的配置文件和代码部署至所述多个子项目库。
在一些实施方式中,项目封装模块206将每个代码部署至对应的子项目库中包括:
获取所述每个子项目库对应的配置文件;
基于所述配置文件确定对应的子项目库的部署环境;
以所述部署环境对应的代码测试方式对对应的代码进行测试,得到子数据库代码;
将所述子数据库代码和对应的配置文件部署至对应的子项目库中。
示例性的,获取所述每个子项目库对应的部署文件,基于所述部署文件确定所述部署文件对应子项目库对应的部署环境。根据所述部署环境对应的代码测试方式对对应的代码进行测试,得到子数据库代码。将得到的子数据库代码和所述子数据库代码对应的配置文件部署至对应的子项目库中。其中,所述子数据库代码可在对应的部署环境下正常运行,从而提高软件管理的效率。所述子项目包包括npm格式的数据包和/或Git格式的数据包。
示例性的,得到多个子项目包后,生成所述多个子项目包对应的调用信息。例如,可将所述调用信息发送至客户端,以便用户根据所述调用信息调用所述多个子项目包。
示例性的,所述调用信息的格式可以根据用户的偏好进行自定义设置。例如,所述调用信息的格式可以为modules/demo url,其中,modules/demo表示所述子项目包对应的主项目库,url表示所述子项目包在所述主项目库中的地址。
在一些实施方式中,代码管理装置20还包括操作响应模块,所述操作响应模块具体用于实现以下步骤:
当侦测到用户对任意一个代码的预设操作时,确定所述预设操作对应的目标主项目库;
在所述目标主项目库中的多个子项目包中确定目标项目包;
根据所述预设操作对所述目标项目包进行处理。
示例性的,当获取到用户对代码的预设操作时,确定所述预设操作对应的目标主项目库,在所述主项目库中的多个子项目包中确定所述代码对应的目标项目包,并根据用户的预设操作对所述目标项目包进行相应的预设操作。通过用户对代码的预设操作,对所述多个子项目包进行相应的处理,保证所述多个子项目包的有效性,从而提高前端代码的管理效率。其中,所述预设操作包括增加操作、修改操作和删除操作。
在一些实施方式中,所述操作响应模块确定所述预设操作对应的目标主项目库包括:
获取所述预设操作对应代码的代码信息;
读取所述代码信息确定目标第一参数;
根据所述目标第一参数确定所述预设操作对应的目标主项目库。
示例性的,通过代码信息可以确定所述代码对应的前端代码库,从而确定所述代码对应的第一参数,查询所述第一参数对应的主项目库,将所述第一参数对应的主项目库确定为所述预设操作对应的主项目库。
上述实施例提供的代码管理装置可以实现为一种计算机程序的形式,该计算机程序可以在如图3所示的计算机设备上运行。
请参阅图3,图3为本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以为服务器或终端设备。
如图3所示,该计算机设备30包括通过系统总线连接的处理器301和存储器302,其中,存储器302可以包括非易失性存储介质和易失性存储介质。
处理器301用于提供计算和控制能力,支撑整个计算机设备的运行。
存储器302可存储操作系统和计算机程序。该计算机程序包括计算机可读指令,该指令被执行时,可使得处理器301执行所述的代码管理方法。
在一可行实施例中,所述计算机设备还包括网络接口,所述网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器301是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器执行存储在存储器中的计算机程序,以实现如下步骤:
响应于用户发送的项目创建指令,确定所述项目创建指令对应的第一参数和多个第二参数;
获取所述第一参数对应的前端代码库,并根据所述第一参数构建主项目库;
根据每个第二参数在所述主项目库中构建子项目库,多个所述子项目库之间物理隔离;
确定每个子项目库对应的服务配置;
根据每个子项目库对应的服务配置,在所述前端代码库中确定每个子项目库对应的代码;
将每个代码部署至对应的子项目库中,并对每个子项目库进行封装得到子项目包。
具体地,所述处理器对上述指令的具体实现方法可参考前述代码管理方法实施例中相关步骤的描述,在此不赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括计算机可读指令,所述指令被执行时所实现的方法可参照本申请代码管理方法的各个实施例。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据计算机设备的使用所创建的数据等。
前述实施例提供的代码管理装置、计算机设备及计算机可读存储介质,通过响应于用户发送的项目创建指令,确定所述项目创建指令对应的第一参数和多个第二参数;获取所述第一参数对应的前端代码库,并根据所述第一参数构建主项目库;根据每个第二参数在所述主项目库中构建子项目库,多个所述子项目库之间物理隔离;确定每个子项目库对应的服务配置;根据每个子项目库对应的服务配置,在所述前端代码库中确定每个子项目库对应的代码;最后所述每个代码部署至对应的子项目库中,并对每个子项目库进行封装得到子项目包。本申请按照第一参数和第二参数创建主项目库和多个子项目库,并通过每个子项目库对应的服务配置对前端代码库进行有规律地拆库,方便后续进行管理,同时将拆分得到的代码存储至所述多个多个子项目库后,对每个子项目库进行封装得到多个子项目包,所述多个子项目包可以独立使用和独立发布,进一步提高了前端代码的管理效率。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种代码管理方法,其特征在于,所述代码管理方法包括:
响应于用户发送的项目创建指令,确定所述项目创建指令对应的第一参数和多个第二参数;
获取所述第一参数对应的前端代码库,并根据所述第一参数构建主项目库;
根据每个第二参数在所述主项目库中构建子项目库,多个所述子项目库之间物理隔离;
确定每个子项目库对应的服务配置;
根据每个子项目库对应的服务配置,在所述前端代码库中确定每个子项目库对应的代码;
将每个代码部署至对应的子项目库中,并对每个子项目库进行封装得到子项目包。
2.根据权利要求1所述的代码管理方法,其特征在于,所述将每个代码部署至对应的子项目库中包括:
获取所述每个子项目库对应的配置文件;
基于所述配置文件确定对应的子项目库的部署环境;
以所述部署环境对应的代码测试方式对对应的代码进行测试,得到子数据库代码;
将所述子数据库代码和对应的配置文件部署至对应的子项目库中。
3.根据权利要求1所述的代码管理方法,其特征在于,所述确定所述项目创建指令对应的第一参数和多个第二参数包括:
获取所述项目创建指令的指令报文;
从配置标签库中获取报文分割标识符;
基于所述报文分割标识符对所述指令报文进行分割,得到所述项目创建指令对应的第一参数;
根据所述第一参数查询参数映射表,得到多个第二参数。
4.根据权利要求3所述的代码管理方法,其特征在于,所述参数映射表的生成过程包括:
获取第一历史参数对应的历史前端代码库;
确定所述历史前端代码库对应的多个历史服务配置;
根据所述多个历史服务配置确定多个历史第二参数;
根据所述历史第一参数和所述多个历史第二参数生成参数映射表。
5.根据权利要求1所述的代码管理方法,其特征在于,所述确定每个子项目库对应的服务配置包括:
以每个子项目库对应的第二参数为查询词,查询预设的服务配置表,得到每个子项目库对应的服务配置。
6.根据权利要求1至5中任意一项所述的代码管理方法,其特征在于,所述方法还包括:
当侦测到用户对任意一个代码的预设操作时,确定所述预设操作对应的目标主项目库;
在所述目标主项目库中的多个子项目包中确定目标项目包;
根据所述预设操作对所述目标项目包进行处理。
7.根据权利要求6所述的代码管理方法,其特征在于,所述确定所述预设操作对应的目标主项目库包括:
获取所述预设操作对应代码的代码信息;
读取所述代码信息确定目标第一参数;
根据所述目标第一参数确定所述预设操作对应的目标主项目库。
8.一种代码管理装置,其特征在于,包括:
参数确定模块,用于响应于用户发送的项目创建指令,确定所述项目创建指令对应的第一参数和多个第二参数;
主库创建模块,用于获取所述第一参数对应的前端代码库,并根据所述第一参数构建主项目库;
子库创建模块,用于根据每个第二参数在所述主项目库中构建子项目库,多个所述子项目库之间物理隔离;
配置确定模块,用于确定每个子项目库对应的服务配置;
代码确定模块,用于根据每个子项目库对应的服务配置,在所述前端代码库中确定每个子项目库对应的代码;
项目封装模块,用于将每个代码部署至对应的子项目库中,并对每个子项目库进行封装得到子项目包。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序时实现如权利要求1至7中任意一项所述的代码管理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的代码管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110272378.7A CN112965954B (zh) | 2021-03-12 | 2021-03-12 | 代码管理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110272378.7A CN112965954B (zh) | 2021-03-12 | 2021-03-12 | 代码管理方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112965954A true CN112965954A (zh) | 2021-06-15 |
CN112965954B CN112965954B (zh) | 2023-08-08 |
Family
ID=76278162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110272378.7A Active CN112965954B (zh) | 2021-03-12 | 2021-03-12 | 代码管理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112965954B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110093513A1 (en) * | 2009-10-15 | 2011-04-21 | Microsoft Corporation | Integrating database deployment with code deployment |
US20140208303A1 (en) * | 2013-01-23 | 2014-07-24 | Red Hat Israel, Ltd. | Matching database schema with application code using dependency management |
CN107515766A (zh) * | 2017-08-24 | 2017-12-26 | 北京锐安科技有限公司 | 数据库部署文件的生成方法、部署安装方法及装置 |
CN112416749A (zh) * | 2020-08-27 | 2021-02-26 | 苏州浪潮智能科技有限公司 | Bmc功能项的开发代码测试方法、系统、终端及存储介质 |
-
2021
- 2021-03-12 CN CN202110272378.7A patent/CN112965954B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110093513A1 (en) * | 2009-10-15 | 2011-04-21 | Microsoft Corporation | Integrating database deployment with code deployment |
US20140208303A1 (en) * | 2013-01-23 | 2014-07-24 | Red Hat Israel, Ltd. | Matching database schema with application code using dependency management |
CN107515766A (zh) * | 2017-08-24 | 2017-12-26 | 北京锐安科技有限公司 | 数据库部署文件的生成方法、部署安装方法及装置 |
CN112416749A (zh) * | 2020-08-27 | 2021-02-26 | 苏州浪潮智能科技有限公司 | Bmc功能项的开发代码测试方法、系统、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112965954B (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108958714B (zh) | 业务组件式开发方法、装置、计算机设备及存储介质 | |
CN109474578B (zh) | 报文消息校验方法、装置、计算机设备和存储介质 | |
CN110737592B (zh) | 一种链路异常识别方法、服务器及计算机可读存储介质 | |
CN108804618B (zh) | 数据库配置方法、装置、计算机设备和存储介质 | |
CN107896162B (zh) | 监控系统的部署方法、装置、计算机设备及存储介质 | |
CN106897072B (zh) | 业务工程调用方法、装置及电子设备 | |
CN111274045B (zh) | 一种多平台对接方法、装置、计算机设备及可读存储介质 | |
CN109740137B (zh) | 名片生成方法、装置、计算机设备和存储介质 | |
CN111443912A (zh) | 基于组件的页面渲染方法、装置、计算机设备和存储介质 | |
CN109284106A (zh) | 业务规则的发布管理方法、电子装置及可读存储介质 | |
CN111461623B (zh) | 基于区块链的仓单创建方法、装置及设备 | |
CN111932207A (zh) | 项目数据处理方法、装置、计算机设备和存储介质 | |
CN111258799A (zh) | 报错信息处理方法、电子装置及计算机可读存储介质 | |
CN114218315A (zh) | 接口生成方法、装置、计算机设备及存储介质 | |
CN111654522A (zh) | 文件同步方法、文件同步服务器及存储介质 | |
CN110737458A (zh) | 一种代码更新方法和相关装置 | |
CN112596746B (zh) | 应用安装包生成方法、装置、计算机设备和存储介质 | |
CN113434122A (zh) | 多角色页面创建方法、装置、服务器及可读存储介质 | |
CN113569257A (zh) | 灰度发布中的用户权限管理方法和装置 | |
CN112965954B (zh) | 代码管理方法、装置、计算机设备及存储介质 | |
CN112363997A (zh) | 数据版本管理方法、装置及存储介质 | |
CN111861292B (zh) | 运单号生成方法、装置、服务器和存储介质 | |
CN108595924B (zh) | 一种业务权限管理方法、装置、计算机设备及存储介质 | |
CN113254176B (zh) | 项目管理方法、装置、计算机设备及存储介质 | |
CN114153457A (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 |