CN112596779A - 兼容双版本的依赖包生成方法、装置、设备及存储介质 - Google Patents

兼容双版本的依赖包生成方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112596779A
CN112596779A CN202011487715.6A CN202011487715A CN112596779A CN 112596779 A CN112596779 A CN 112596779A CN 202011487715 A CN202011487715 A CN 202011487715A CN 112596779 A CN112596779 A CN 112596779A
Authority
CN
China
Prior art keywords
pom
deployment environment
pom file
file
version
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.)
Pending
Application number
CN202011487715.6A
Other languages
English (en)
Inventor
李承文
王鸶楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Construction Bank Corp filed Critical China Construction Bank Corp
Priority to CN202011487715.6A priority Critical patent/CN112596779A/zh
Publication of CN112596779A publication Critical patent/CN112596779A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本文提供了兼容双版本的依赖包生成方法、装置、设备及存储介质,方法包括:获取金融信息系统的目标代码;生成POM文件集合,POM文件集合包括第一POM文件和第二POM文件,第一POM文件与金融信息系统的第一版本相对应,第二POM文件与金融信息系统的第二版本相对应;确定目标部署环境;从POM文件集合中选择与目标部署环境相对应的POM文件;将与目标部署环境相对应的POM文件和目标代码进行打包,生成与目标部署环境相对应的依赖包;本文通过生成与不同版本相对应的POM文件、在确定目标部署环境后直接调用与之相应POM文件对目标代码进行打包生成依赖包,解决了在不同版本上的金融信息系统应用部署问题。

Description

兼容双版本的依赖包生成方法、装置、设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及兼容双版本的依赖包生成方法、装置、设备及存储介质。
背景技术
金融信息系统作为国家关键信息基础设施,直接关系到国家经济、社会的正常运行。目前,金融机构的业务系统都运行于X86版本上,长期依赖于进口设备和系统,这不仅需要花费巨额的外汇,更涉及到我国金融业的安全可控。因此需确保重要的金融业务系统能够在国产化版本上稳定运行,避免因国外公司断供核心技术导致没有可以运行金融交易系统的服务器的风险。
同时由于我国金融国产化尚处于起步阶段,需要较长一段时间来验证国产化的金融交易平台的可靠性和稳定性,因此,在此阶段,需要设计一套能够保证并轨运行的包含国产化版本的金融交易系统和交易运行解决方案。这对于保证金融交易连续性、提升客户满意度具有至关重要的作用。
发明内容
针对现有技术的上述问题,本文的目的在于,提供一种兼容双版本的依赖包生成方法、装置、设备及存储介质,以解决现有技术中无法在国产化版本上部署金融信息系统的问题。
为了解决上述技术问题,本文的具体技术方案如下:
一方面,本文提供一种兼容双版本的依赖包生成方法,包括以下步骤:
获取金融信息系统的目标代码;
生成POM文件集合,所述POM文件集合包括第一POM文件和第二POM文件,所述第一POM文件与所述金融信息系统的第一版本相对应,所述第二POM文件与所述金融信息系统的第二版本相对应;
确定目标部署环境;
从所述POM文件集合中选择与所述目标部署环境相对应的POM文件;
将与所述目标部署环境相对应的POM文件和所述目标代码进行打包,生成与所述目标部署环境相对应的依赖包。
具体地,所述方法还包括:
将所述依赖包部署于所述目标部署环境中,对所述依赖包进行持续集成。
进一步地,所述将所述依赖包部署于所述目标部署环境中,包括:
调用与所述目标部署环境相匹配的服务器的部署脚本,将所述依赖包部署于所述服务器中;
重启所述服务器。
进一步地,所述将所述依赖包署于所述目标部署环境中,包括:
将所述依赖包解压并拷贝到与所述目标部署环境相匹配的服务器的路径中;
修改服务器的配置信息;
重启所述服务器。
具体地,所述将所述依赖包部署于所述目标部署环境中,还包括:
对所述目标部署环境相匹配的服务器进行检查,获得检查结果。
优选地,所述对所述目标部署环境相匹配的服务器进行检查,包括:
检查所述服务器的配置参数是否正确;
检查所述服务器的统一资源定位器是否可访问;
检查所述服务器的内存设置参数是否正确。
优选地,所述方法还包括:
根据所述检查结果,判断所述依赖包是否在所述目标部署环境中部署成功;
若部署失败时,则发送部署失败提醒信息。
具体地,所述获取金融信息系统的目标代码,包括:
获取动态视图;
根据所述动态视图获取所述金融信息系统的源码;
对所述源码进行编译,获得所述金融信息系统的目标代码。
具体地,所述生成POM文件集合,包括:
获取所述第一版本的第一依赖配置信息和第一数据库配置信息,根据所述第一依赖配置信息和第一数据库配置信息生成第一POM文件;
获取所述第二版本的第二依赖配置信息和第二数据库配置信息,根据所述第二依赖配置信息和第二数据库配置信息生成第二POM文件
具体地,所述从所述POM文件集合中选择与所述目标部署环境相对应的POM文件,包括:
获取所述目标部署环境的环境参数;
将所述环境参数分别与所述第一POM文件的第一文件名和所述第二POM文件的第二文件名进行比对;
当所述环境参数与第一POM文件的第一文件名相对应时,选择所述第一POM文件;
当所述环境参数与第二POM文件的第二文件名相对应时,选择所述第二POM文件。
进一步地,所述将与所述目标部署环境相对应的POM文件和所述目标代码进行打包,生成与所述目标部署环境相对应的依赖包,还包括:
判断是否打包成功;
若打包失败,则发送依赖包生成失败提醒信息。
进一步地,所述将所述依赖包部署于所述目标部署环境中之前,还包括:
将所述依赖包下载至本地;
将所述依赖包从本地上传至所述目标部署环境中。
第二方面,在上述提供的方法基础上,本文还提供一种兼容双版本的依赖包生成装置,包括:
获取模块,用于获取金融信息系统的目标代码;
生成模块,用于生成POM文件集合,所述POM文件集合包括第一POM文件和第二POM文件,所述第一POM文件与所述金融信息系统的第一版本相对应,所述第二POM文件与所述金融信息系统的第二版本相对应;
确定模块,用于确定目标部署环境;
选择模块,用于从所述POM文件集合中选择与所述目标部署环境相对应的POM文件;
打包模块,用于将与所述目标部署环境相对应的POM文件和所述目标代码进行打包,生成与所述目标部署环境相对应的依赖包。
第三方面,本文还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述所述的兼容双版本的依赖包生成方法的步骤。
第四方面,本文还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行计算机程序,所述计算机程序被处理器执行时实现如上述所述的兼容双版本的依赖包生成方法。
采用上述技术方案,本文所述一种兼容双版本的依赖包生成方法、装置、设备及存储介质,通过生成与不同版本相对应的POM文件,并在确定目标部署环境后直接调用与目标部署环境的相对应POM文件对目标代码进行打包,从而生成用于部署的依赖包,从而解决了在并轨运行的包含国产化版本上的金融信息系统应用部署的问题。
为让本文的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本文实施例提供的一种兼容双版本的依赖包生成方法的步骤示意图;
图2示出了本文实施例提供的一种兼容双版本的依赖包生成装置的结构示意图;
图3示出了本文实施例中提供的计算机设备的结构示意图。
附图符号说明:
21、获取模块;
22、生成模块;
23、确定模块;
24、选择模块;
25、打包模块;
302、计算机设备;
304、处理器;
306、存储器;
308、驱动机构;
310、输入/输出模块;
312、输入设备;
314、输出设备;
316、呈现设备;
318、图形用户接口;
320、网络接口;
322、通信链路;
324、通信总线。
具体实施方式
下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。
需要说明的是,本文的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本文的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
金融信息系统作为国家关键信息基础设施,直接关系到国家经济、社会的正常运行。目前,金融机构的业务系统大都运行于X86版本上,长期依赖于进口设备和系统,这不仅需要花费巨额的外汇,更涉及到我国金融业的安全可控。而在国产化版本部署金融进行系统与在X86版本部署的区别在于版本依赖和参数不同:版本依赖是指系统需要引入的其他开源,例如X86版本要引入ojdbc数据库驱动包;国产化版本需要引入GaussDriver数据库驱动包,且由于需要自定义Gauss数据库连接池资源,因此又需要引入alibaba的Druid依赖包,Druid包是开源的数据库连接池项目,不仅可以用于创建连接池,还包含一系列的JDBC(Java Data Base Connectivity,Java数据库连接)组件库,以支持数据库操作;参数不同是指在国产化版本上和在X86版本配置同一系统时,例如本文所需配置的金融信息系统,需要使用的参数值不同,且需要的服务器也不同。为了推进金融信息系统基础设施的国产化,本专利提供了兼容金融系统双版本的依赖包的生成方法、装置、计算机设备及存储介质,可满足金融系统在国产化版本和X86版本上的部署,从而保证双版本的快速迭代,加快金融信息系统的国产化建设。
图1是本文实施例提供的兼容双版本的依赖包生成方法的步骤示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。具体的如图1所示,所述方法可以包括:
S100:获取金融信息系统的目标代码;
S200:生成POM文件集合,所述POM文件集合包括第一POM文件和第二POM文件,所述第一POM文件与所述金融信息系统的第一版本相对应,所述第二POM文件与所述金融信息系统的第二版本相对应;
需要说明的是,本文中上述步骤S200是进行mvn-profile管理,POM(ProjectObject Model,项目对象模型)文件是Maven中用于管理项目的工具,而Maven是一个采用纯Java编写的开源项目管理工具和构建自动化工具。所有的项目配置信息都被定义在一个叫做POM.xml的文件中。通过该文件,Maven可以管理项目的整个生命周期,包括编译、构建、测试、发布、报告等等。
本文中,所述金融信息系统的第一版本是指金融信息系统的X86版本,其处理器基于X86架构;应用服务器基于非开源的weblogic等应用服务器,WebLogic是可用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器;操作系统基于UNIX或Linux;数据库基于Oracle等。
与X86版本相适配的WebLogic服务器是复杂指令集架构,可处理大数据分析,但具有发热量大和功耗大、成本高等不符合未来节能省源的要求的缺陷。
本文中,所述金融信息系统的第二版本是指金融信息系统的国产化版本,也就是可将金融信息系统部署于ARM上的版本,在此ARM版本下,国产化的金融系统的处理器可以基于ARM架构的国产CPU(例如基于ARM架构的48核鲲鹏920芯片);在金融信息系统的ARM版本中主要使用Tomcat开源组件,Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,由于Tomcat技术先进、性能稳定、低功耗的特点,在中小型系统和并发访问用户不是很多的场合下被普遍使用;其可以使用国产化的操作系统(例如中标麒麟操作系统等);以及可以使用国产化的数据库(例如高斯(Gauss)数据库等)。上述软件基础环境整合在一起,构成一个可以支撑金融系统实际应用的全栈国产化环境。
S300:确定目标部署环境;
本文中,所述目标部署环境是指上述金融信息系统在X86版本上的应用部署环境,包括X86版本的各次级环境;和金融信息系统在ARM版本上的应用部署环境,包括ARM版本的各次级环境。
S400:从所述POM文件集合中选择与所述目标部署环境对应的POM文件;
S500:将与所述目标部署环境相对应的POM文件和所述目标代码进行打包,生成与所述目标部署环境相对应的依赖包。
本文中,所述依赖包是指所述金融信息系统赖以在X86版本上或ARM版本上部署的war包。
为实现金融信息系统在X86版本和ARM版本上的持续集成,本文提供的一种兼容双版本的依赖包生成方法,生成了包含有第一POM文件和第二POM文件的POM文件集合。从而当确定了目标部署环境后,直接选择符合相应部署环境的POM文件对目标代码进行打包,以生成用于部署的依赖包:当目标部署环境为X86版本及其次级环境时,选择相应的第一POM文件,进而打出符合X86版本部署环境的依赖包;当目标部署环境为ARM版本及其次级环境时,选择第二POM文件,进而打出与ARM版本相适配的依赖包;无需重复处理。
并且POM文件集合预先生成,无需根据目标部署环境的不同重复处理,当确定了目标部署环境后,直接从所述POM文件集合中有目标性的调用,不仅实现了在双版本上的部署,且有利于提高部署效率。
需要说明的是,本文提供的一种兼容双版本的持续集成方法,还包括以下步骤:
将所述依赖包部署于所述目标部署环境中,以实现对所述依赖包的持续集成。
随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。尤其是近些年来,敏捷在软件工程领域越来越红火,如何能再不断变化的需求中快速适应和保证软件的质量也显得尤其的重要。持续集成正是针对这一类问题的一种软件开发方法。
本文中,上述提及的持续集成,就是一种被业界认可和广泛使用的软件开发实践,是敏捷开发的必要组成,它能够使开发团队的工作快速集成并验证,及时发现所开发软件在集成中出现的问题。
在本文实施例中,步骤S100:获取金融信息系统的目标代码,进一步包括:
S110:获取动态视图;
需要说明的是,本文中,所述动态视图通过将所述金融信息系统的程序代码上传至版本控制服务器中获得,所述金融信息系统的程序代码是指以编程语言并按其规则编写的赖以实现所述金融信息系统功能实现的程序代码,本文中,所述程序代码可以是金融信息系统的Java代码。
且本文中,优选将所述程序代码提交至CC(ClearCase)服务器中以生成CC动态视图。
所述CC服务器是一种版本控制服务器,可用于代码的修改。由于系统在调整或升级功能时,会涉及到对代码的变更(即对代码的修改),因此使用CC服务器可以在代码修改时防止代码冲突,以保持源码的一致性。
S120:根据所述动态视图获取所述金融信息系统的源码;
所述CC动态视图是与所述金融信息系统源码相对应的路径,通过该CC动态视图,配置管理人员、部署人员或版本发布人员可获取与所述金融信息系统源码对应的编译代码。
CC动态视图能够自动保持与VOB库的同步更新、使用MVFS(Multi-Version FileSystem多版本文件系统)文件系统透明访问VOB库、不占用本机空间,以及无需将文件拷贝到本地目录,通过虚拟文件系统对VOB中的版本进行存取操作、提供了共享派生对象和构建审计的功能。MVFS,是ClearCase自己的文件系统,可以模拟Window/UNIX等文件系统,让VOB表现为一个目录或一个驱动器盘符。且它支持了Dynamic View(动态视图)的使用。DynamicView使用MVFS来呈现已经选择的本地和远程文件,就好像这些文件都存储在本地文件系统中。
需要说明的是,本文中,根据动态视图获取的所述金融信息系统的源码并非是指对所述金融信息系统的程序代码进行了修改或其他方式的处理,获取到的所述源码可以理解为是所述程序代码的拷贝。
以及S130:对所述源码进行编译,获得所述金融信息系统的目标代码。
进一步实施例中,步骤S200:生成POM文件集成,所述POM文件集合包括第一POM文件和第二POM文件,所述第一POM文件与所述金融信息系统的第一版本相对应,所述第二POM文件与所述金融信息系统的第二版本相对应,进一步包括:
获取所述第一版本(即X86版本)的第一依赖配置信息和第一数据库配置信息,根据所述第一依赖配置信息和第一数据库配置信息建立第一POM文件;
具体地,第一POM文件生成方法如下:
在第一POM文件中,使用dependencies标签对在所述第一版本中需要用到的外部开源Jar包进行定义;
第一数据库配置信息是指在第一版本中连接数据库需要使用到的Java类,例如,本文中在生成第一POM文件时,通过${DataSourceConnection}变量对在第一POM文件需要的第一数据库配置信息进行定义:
<DataSourceConnection>JNDI</DAtaSourceConnection>;
除此之外,本文在生成第一POM文件时,还在第一POM文件中定义了第一profile信息。
第二POM文件生成方法如下:
获取所述第二版本的第二依赖配置信息和第二数据库配置信息,根据所述第二依赖配置信息和第二数据库配置信息建立第二POM文件。
具体包括如下步骤:
在第二POM文件中,使用dependencies标签对在所述第二版本(即ARM版本)中需要用到的外部开源Jar包进行定义,以实现对所述第二依赖配置信息的定义;
还通过${DataSourceConnection}变量,对第二POM文件中所需要用到的Java类进行了定义,以实现对所述第二数据库配置信息的定义:
<DataSourceConnection>NcisDruidI</DAtaSourceConnection>;
还包括通过properties标签对第二POM文件的第二profile信息进行定义。
例如:
对于ARM版本的pl1环境,可有如下第二profile信息定义方式:
Figure BDA0002839810430000101
需要说明的是,以上仅仅是针对ARM版本中的一种次级环境,即pl1环境,对所述第二POM中的第二profile信息进行的定义。当然了,针对ARM版本的其他次级环境,对第二POM文件中的第二profile信息的定义将所有不同。
并且,本文中,所述POM文件集合中包含有第一POM文件和第二POM文件,仅是针对本文中为了实现将金融信息系统兼容部署在X86版本和ARM版本上,以及实现在上述双系统上的持续集成进行的,对于在其他版本上的部署以及持续集成,上述POM文件集合中还可以包含有与其他版本的部署环境相适配的POM文件。
进一步实施例中,步骤S400:从所述POM文件集合中选择与所述目标部署环境对应的POM文件,可进一步包括:
S410:获取所述目标部署环境的环境参数;
S420:将所述环境参数分别与所述第一POM文件的第一文件名和所述第二POM文件的第二文件名进行比对;例如第一POM文件的文件名为pom.xml;第二POM文件的文件名为pom-arm.xml。
S430:当所述环境参数信息与第一POM文件的第一文件名相对应时,通过使用-f参数,指定第一POM文件的第一文件名,使用如下指令:mvn-fpom.xml来选择所述第一POM文件;
进一步地,针对X86的各级次级环境,还可以加入-p参数,指定第一POM文件中定义的第一profile信息,按照该第一profile信息中定义的参数值完成变量替换以选择合适相应X86次级环境的POM文件;或
当所述环境参数信息与第二POM文件的第二文件名相对应时,使用-f参数选择第二POM文件;采用如下指令:mvn-fpom-arm.xml来选择第二POM文件。
进一步地,还可以使用-p参数,指定第二POM文件中定义的profile名,按照该第二profile信息中定义的参数值完成变量替换以获得符合相应的ARM版本次级环境的POM文件。
本文中,步骤S500:将与所述目标部署环境相对应的POM文件和所述目标代码进行打包,生成与所述目标部署环境相对应的依赖包,还包括:
S510:判断是否打包成功;
当生成有相应的依赖包(war包)时,即为打包成功;否则,表示打包失败;
S520:若打包失败,则发送依赖包生成失败提醒信息。
例如:当获取的所述目标环境参数信息既不与第一POM文件的第一文件名相对应,也不与第二POM文件的第二文件名相对应时,也没有其他POM文件的相关文件名与之对应时,调用发邮件的API(Application Programming Interface,应用编程接口),向配置管理人员、部署人员或版本发布人员发送依赖包生成失败提醒信息。
进一步实施例中,在步骤:将所述依赖包部署于所述部署环境中,以实现对所述依赖包的持续集成之前,还包括上传所述依赖包,具体包括:
将所述依赖包从CC服务器端下载至本地;
本文中,当将所述金融信息系统的源码提交至CC服务器中后,后续的生成动态视图、以及对所述源码的编译过程均是在上述CC服务器中进行的,而目标部署环境的服务器与上述配置管理的服务器不同,需经过本地环境进行中转。
以及将所述依赖包从本地上传至所述目标部署环境中。
进一步地,步骤:将所述依赖包部署于所述目标部署环境中,以对所述依赖包进行持续集成,具体包括:
判断与所述目标部署环境相对应的服务器;
若该服务器为基于Weblogic服务器,则
调用与所述目标部署环境相匹配的服务器的部署脚本,即Weblogic服务器的部署脚本(WLST),将所述依赖包部署于当前运行的服务器中;
WLST是一种命令行脚本界面,系统管理员和操作员可以用它来监视和管理WebLogic Server实例以及域,本文中用它来控制和管理服务器生命周期。
以及重启Weblogic服务器。
本文中,重启所述Weblogic服务器通过调用weblogic相关脚本实现:先调用停止该服务器的脚本,再调用控制该服务器启动的脚本。
若该服务器为Tomcat服务器,则
将所述依赖包解压并拷贝到与Tomcat服务器指定的路径中;
修改Tomcat服务器的配置信息,包括:
修改tomcat中的Server.xml;将Context path=”tomcat”变更为Context path=”应用对外可访问的url名”;并将docBase=”tomcat/webapp”变更为docBase=”应用部署的位置”;
重启Tomcat的服务器:先调用用于停止Tomcat服务器的脚本,再调用用于控制该服务器启动的脚本。本文中打成依赖不会缺少目录,并且只需管理一个发布文件,并且能够被Tomcat服务器自动识别,启动服务器后,即可运行该项目。
进一步地,步骤:所述将所述依赖包部署于所述目标部署环境中,以对所述依赖包进行持续集成之后,还包括:
对所述目标部署环境相匹配的服务器进行检查,获得检查结果。
例如,当判断到该服务器为Weblogic服务器时,则需要检查config.xml中配置的参数值是否正确;验证应用Url(Uniform Resource Locator,统一资源定位器)是否可访问;以及应用内存设置的参数是否正确等等;
当判断到该服务器为Tomcat服务器时,则相应的检查包括:检查server.xml中配置文件信息是否正确;验证应用Url是否可访问;应用内存设置的参数是否正确,还可以包括其他未列入其中的其他检查项。
即上述检查过程是用于判断所述依赖包是否成功部署于目标部署环境,因此,步骤:对所述目标部署环境相匹配的服务器进行检查,还包括:
根据上述检查过程中各检查项的检查结果,判断所述依赖包是否在所述目标部署环境中部署成功;
若失败,则调用发邮件的API发送部署失败提醒信息。
通过以上方法,本领域技术人员可获得能够兼容部署于X86版本和ARM版本上的金融信息系统的依赖包,进而能够实现金融信息系统在上述双版本上的持续集成,这对于验证国产化的金融信息系统、交易平台的可靠性和稳定性具有十分重要的意义,以全面实现金融信息系统国产化。
较为优选地,本文选用Jenkins一键部署工具,完成打包、依赖包的传输、在目标部署环境中的应用部署以及部署结果的通知。
如图2所示,基于同一发明构思,在上述提供的一种兼容双版本的依赖包的生成方法的基础上,本文实施例还提供一种兼容双版本的依赖包的生成装置,如图2所示,所述装置包括:
获取模块21,用于获取金融信息系统的目标代码;
生成模块22,用于生成POM文件集合,所述POM文件集合包括第一POM文件和第二POM文件,所述第一POM文件与所述金融信息系统的第一版本相对应,所述第二POM文件与所述金融信息系统的第二版本相对应;
确定模块23,用于确定目标部署环境;
选择模块24,用于从所述POM文件集合中选择与所述目标部署环境相对应的POM文件;
打包模块25,用于将与所述目标部署环境相对应的POM文件和所述目标代码进行打包,生成与所述目标部署环境相对应的依赖包。
如图3所示,为本文实施例提供的一种计算机设备,所述计算机设备302可以包括一个或多个处理器304,诸如一个或多个中央处理单元(CPU),每个处理单元可以实现一个或多个硬件线程。
计算机设备302还可以包括任何存储器306,其用于存储诸如代码、设置、数据等之类的任何种类的信息。非限制性的,比如,存储器306可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备302的固定或可移除部件。在一种情况下,当处理器304执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备302可以执行相关联指令的任一操作。计算机设备302还包括用于与任何存储器交互的一个或多个驱动机构308,诸如硬盘驱动机构、光盘驱动机构等。
计算机设备302还可以包括输入/输出模块310(I/O),其用于接收各种输入(经由输入设备312)和用于提供各种输出(经由输出设备314))。一个具体输出机构可以包括呈现设备316和相关联的图形用户接口(GUI)318。在其他实施例中,还可以不包括输入/输出模块310(I/O)、输入设备312以及输出设备314,仅作为网络中的一台计算机设备。计算机设备302还可以包括一个或多个网络接口320,其用于经由一个或多个通信链路322与其他设备交换数据。一个或多个通信总线324将上文所描述的部件耦合在一起。
通信链路322可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路322可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。对应于图1中的方法,本文实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法的步骤。
本文实施例还提供一种计算机可读指令,其中当处理器执行所述指令时,其中的程序使得处理器执行如图1所示的方法。
应理解,在本文的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本文实施例的实施过程构成任何限定。
还应理解,在本文实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本文的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本文所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本文实施例方案的目的。
另外,在本文各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本文的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本文各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本文中应用了具体实施例对本文的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本文的方法及其核心思想;同时,对于本领域的一般技术人员,依据本文的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本文的限制。

Claims (15)

1.一种兼容双版本的依赖包生成方法,其特征在于,包括:
获取金融信息系统的目标代码;
生成POM文件集合,所述POM文件集合包括第一POM文件和第二POM文件,所述第一POM文件与所述金融信息系统的第一版本相对应,所述第二POM文件与所述金融信息系统的第二版本相对应;
确定目标部署环境;
从所述POM文件集合中选择与所述目标部署环境相对应的POM文件;
将与所述目标部署环境相对应的POM文件和所述目标代码进行打包,生成与所述目标部署环境相对应的依赖包。
2.根据权利要求1所述的一种兼容双版本的依赖包生成方法,其特征在于,还包括:
将所述依赖包部署于所述目标部署环境中,以对所述依赖包进行持续集成。
3.根据权利要求2所述的一种兼容双版本的依赖包生成方法,其特征在于,所述将所述依赖包部署于所述目标部署环境中,包括:
调用与所述目标部署环境相匹配的服务器的部署脚本,将所述依赖包部署于所述服务器中;
重启所述服务器。
4.根据权利要求2所述的一种兼容双版本的依赖包生成方法,其特征在于,所述将所述依赖包署于所述目标部署环境中,包括:
将所述依赖包解压并拷贝到与所述目标部署环境相匹配的服务器的路径中;
修改所述服务器的配置信息;
重启所述服务器。
5.根据权利要求3或4任意一项所述的一种兼容双版本的依赖包生成方法,其特征在于,所述将所述依赖包部署于所述目标部署环境中,以对所述依赖包进行持续集成,还包括:
对所述目标部署环境相匹配的服务器进行检查,获得检查结果。
6.根据权利要求5所述的一种兼容双版本的依赖包生成方法,其特征在于,所述对所述目标部署环境相匹配的服务器进行检查,包括:
检查所述服务器的配置参数是否正确;
检查所述服务器的统一资源定位器可否访问;
检查所述服务器的内存设置参数是否正确。
7.根据权利要求5所述的一种兼容双版本的依赖包生成方法,其特征在于,所述方法还包括:
根据检查结果,判断所述依赖包是否在所述目标部署环境中部署成功;
若失败,发送部署失败提醒信息。
8.根据权利要求1所述的一种兼容双版本的依赖包生成方法,其特征在于,所述获取金融信息系统的目标代码,包括:
获取动态视图;
根据所述动态视图获取所述金融信息系统的源码;
对所述源码进行编译,获取所述金融信息系统的目标代码。
9.根据权利要求1所述的一种兼容双版本的依赖包生成方法,其特征在于,所述生成POM文件集合,包括:
获取所述第一版本的第一依赖配置信息和第一数据库配置信息,根据所述第一依赖配置信息和第一数据库配置信息生成第一POM文件;
获取所述第二版本的第二依赖配置信息和第二数据库配置信息,根据所述第二依赖配置信息和第二数据库配置信息生成第二POM文件。
10.根据权利要求9所述的一种兼容双版本的依赖包生成方法,其特征在于,所述从所述POM文件集合中选择与所述目标部署环境相对应的POM文件,包括:
获取所述目标部署环境的环境参数;
将所述环境参数分别与所述第一POM文件的第一文件名和所述第二POM文件的第二文件名进行比对;
当所述环境参数与第一POM文件的第一文件名相对应时,选择所述第一POM文件;
当所述环境参数与第二POM文件的第二文件名相对应时,选择所述第二POM文件。
11.根据权利要求10所述的一种兼容双版本的依赖包生成方法,其特征在于,还包括:所述将与所述目标部署环境相对应的POM文件和所述目标代码进行打包,生成与所述目标部署环境相对应的依赖包,还包括:
判断是否打包成功;
若打包失败,则发送依赖包生成失败提醒信息。
12.根据权利要求2所述的一种兼容双版本的依赖包生成方法,其特征在于,所述将所述依赖包部署于所述目标部署环境中之前,还包括:
将所述依赖包下载至本地;
将所述依赖包从本地上传至所述目标部署环境中。
13.一种兼容双版本的依赖包生成装置,其特征在于,包括:
获取模块,用于获取金融信息系统的目标代码;
生成模块,用于生成POM文件集合,所述POM文件集合包括第一POM文件和第二POM文件,所述第一POM文件与所述金融信息系统的第一版本相对应,所述第二POM文件与所述金融信息系统的第二版本相对应;
确定模块,用于确定目标部署环境;
选择模块,用于从所述POM文件集合中选择与所述目标部署环境相对应的POM文件;
打包模块,用于将与所述目标部署环境相对应的POM文件和所述目标代码进行打包,生成与所述目标部署环境相对应的依赖包。
14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至12任意一项所述的兼容双版本的依赖包生成方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行计算机程序,所述计算机程序被处理器执行时实现如权利要求1至12任意一项所述的兼容双版本的依赖包生成方法。
CN202011487715.6A 2020-12-16 2020-12-16 兼容双版本的依赖包生成方法、装置、设备及存储介质 Pending CN112596779A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011487715.6A CN112596779A (zh) 2020-12-16 2020-12-16 兼容双版本的依赖包生成方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011487715.6A CN112596779A (zh) 2020-12-16 2020-12-16 兼容双版本的依赖包生成方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN112596779A true CN112596779A (zh) 2021-04-02

Family

ID=75196649

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011487715.6A Pending CN112596779A (zh) 2020-12-16 2020-12-16 兼容双版本的依赖包生成方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112596779A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113590446A (zh) * 2021-08-02 2021-11-02 上海米哈游璃月科技有限公司 数值文件的检测方法、装置、电子设备及存储介质
CN114706628A (zh) * 2022-04-02 2022-07-05 北京星辰天合科技股份有限公司 基于一池多芯的分布式存储系统的数据处理方法和装置
CN115934157A (zh) * 2022-12-28 2023-04-07 中国人民解放军国防科技大学 软件依赖范围自动推断方法、装置、计算机设备和存储器

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080072219A1 (en) * 2006-09-20 2008-03-20 Mario Kabadiyski Deployment and versioning of applications
US20130232469A1 (en) * 2012-03-02 2013-09-05 Oracle International Corporation System and method for automatically resolving dependencies of java archive files for use with maven
CN106104467A (zh) * 2014-06-30 2016-11-09 北京新媒传信科技有限公司 一种自动化部署方法和终端
CN107577469A (zh) * 2017-08-21 2018-01-12 厦门悦讯教育科技有限公司 一种软件打包发布管理方法
CN109725909A (zh) * 2018-05-07 2019-05-07 中国平安人寿保险股份有限公司 代码文件打包部署方法、持续集成服务器及系统
CN111783103A (zh) * 2020-07-03 2020-10-16 Oppo广东移动通信有限公司 基于Maven的依赖管理方法、装置、电子装置及存储介质
CN111897570A (zh) * 2020-07-15 2020-11-06 杭州安恒信息技术股份有限公司 一种基于Maven插件的多依赖项文件提取方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080072219A1 (en) * 2006-09-20 2008-03-20 Mario Kabadiyski Deployment and versioning of applications
US20130232469A1 (en) * 2012-03-02 2013-09-05 Oracle International Corporation System and method for automatically resolving dependencies of java archive files for use with maven
CN106104467A (zh) * 2014-06-30 2016-11-09 北京新媒传信科技有限公司 一种自动化部署方法和终端
CN107577469A (zh) * 2017-08-21 2018-01-12 厦门悦讯教育科技有限公司 一种软件打包发布管理方法
CN109725909A (zh) * 2018-05-07 2019-05-07 中国平安人寿保险股份有限公司 代码文件打包部署方法、持续集成服务器及系统
CN111783103A (zh) * 2020-07-03 2020-10-16 Oppo广东移动通信有限公司 基于Maven的依赖管理方法、装置、电子装置及存储介质
CN111897570A (zh) * 2020-07-15 2020-11-06 杭州安恒信息技术股份有限公司 一种基于Maven插件的多依赖项文件提取方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113590446A (zh) * 2021-08-02 2021-11-02 上海米哈游璃月科技有限公司 数值文件的检测方法、装置、电子设备及存储介质
CN114706628A (zh) * 2022-04-02 2022-07-05 北京星辰天合科技股份有限公司 基于一池多芯的分布式存储系统的数据处理方法和装置
CN115934157A (zh) * 2022-12-28 2023-04-07 中国人民解放军国防科技大学 软件依赖范围自动推断方法、装置、计算机设备和存储器
CN115934157B (zh) * 2022-12-28 2024-04-16 中国人民解放军国防科技大学 软件依赖范围自动推断方法、装置、计算机设备和存储器

Similar Documents

Publication Publication Date Title
EP3769223B1 (en) Unified test automation system
US8898620B2 (en) System and method for application process automation over a computer network
US8515799B2 (en) Constructing change plans from component interactions
US7770151B2 (en) Automatic generation of solution deployment descriptors
CN112596779A (zh) 兼容双版本的依赖包生成方法、装置、设备及存储介质
US9830135B2 (en) Declarative and pluggable business logic for systems management
US7684964B2 (en) Model and system state synchronization
CN103336705B (zh) 脚本处理和工作流系统间的自动转码和语义自适应
US8464246B2 (en) Automation of mainframe software deployment
US20170220324A1 (en) Data communication accelerator system
US20100332535A1 (en) System to plan, execute, store and query automation tests
US20100114618A1 (en) Management of Variants of Model of Service
EP2972821A1 (en) Application compatibility checking in a distributed computing environment
CN113434158B (zh) 一种大数据组件的自定义管理方法、装置、设备及介质
US9256509B1 (en) Computing environment analyzer
US20230177426A1 (en) Discovering and using application deployment dependencies to augment governance and compliance policy
US9342784B1 (en) Rule based module for analyzing computing environments
US10896109B2 (en) Non-monotonic eventual convergence for desired state configuration
CN111324599A (zh) 一种区块链实验系统及管理方法
Niranjan Jenkins pipelines: A novel approach to machine learning operations (mlops)
CN115220863A (zh) 容器应用的运维方法、装置、计算机设备和存储介质
Talwar et al. Comparison of approaches to service deployment
CN113050929A (zh) 一种基于Hyperledger Fabric的智能合约开发运维一体化平台
Cagnin et al. PARFAIT: Towards a framework-based agile reengineering process
CN109189370B (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