CN114416163A - 一种制品管理方法、系统、存储介质和电子设备 - Google Patents

一种制品管理方法、系统、存储介质和电子设备 Download PDF

Info

Publication number
CN114416163A
CN114416163A CN202111614926.6A CN202111614926A CN114416163A CN 114416163 A CN114416163 A CN 114416163A CN 202111614926 A CN202111614926 A CN 202111614926A CN 114416163 A CN114416163 A CN 114416163A
Authority
CN
China
Prior art keywords
product
database
file
check
minio
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
CN202111614926.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 Travelsky Technology Co Ltd
Original Assignee
China Travelsky Technology Co Ltd
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 Travelsky Technology Co Ltd filed Critical China Travelsky Technology Co Ltd
Priority to CN202111614926.6A priority Critical patent/CN114416163A/zh
Priority to PCT/CN2022/089162 priority patent/WO2023123768A1/zh
Publication of CN114416163A publication Critical patent/CN114416163A/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种制品管理方法、系统、存储介质和电子设备,可以通过获得版本流水线构建的制品及相应的制品信息,其中,所述制品为构建应用的过程产物,所述制品信息包括:应用名称和版本号;对所述制品进行校验,若校验通过,则将所述制品存储至对象存储服务器Minio;将所述制品信息存储至数据库,并在所述数据库中存储所述制品信息与所述制品的关联关系,其中,一个所述制品对应多条所述制品信息。由此可以看出,本发明可以自动存储和维护大量制品,效率较高,且不易出现错误。

Description

一种制品管理方法、系统、存储介质和电子设备
技术领域
本发明涉及软件领域,特别涉及一种制品管理方法、系统、存储介质和电子设备。
背景技术
随着软件行业的发展,软件开发技术的革新,开发体量更大,性能更加优秀的软件产品变得更加可行。旧的软件产品被不断更新、升级,新的产品也不断被开发出来。随着公司的壮大,公司的软件产品越来越多,越来越复杂。很多开发团队相互协作开发、维护着很多项目,每个项目又有很多版本,每个版本又有制品、配置、质量报告等多种产物。其中,维护这些制品的工作量变得越来越大。
目前大多数企业还是人工维护产品制品,效率较低,制品靠人工保存,多个团队需要用到同样的制品时,很有可能因为信息不同步而产生多份制品,浪费存储资源。还可能会因为操作不当而导致版本信息与制品不一致,这样就非常有可能在部署时使用错误版本的制品,给项目带来的麻烦。
发明内容
鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的一种制品管理方法、系统、存储介质和电子设备。
第一方面,一种制品管理方法,包括:
获得版本流水线构建的制品及相应的制品信息,其中,所述制品为构建应用的过程产物,所述制品信息包括:应用名称和版本号;
对所述制品进行校验,若校验通过,则将所述制品存储至对象存储服务器Minio;
将所述制品信息存储至数据库,并在所述数据库中存储所述制品信息与所述制品的关联关系,其中,一个所述制品对应多条所述制品信息。
结合第一方面,在某些可选的实施方式中,所述方法还包括:
在将所述制品存储至所述Minio之前,执行与所述制品相对应的预设检查脚本,以通过所述预设检查脚本中的检查规则对所述制品进行文件检查,得到相应的文件检查结果并存储至所述数据库。
结合第一方面,在某些可选的实施方式中,所述方法还包括:
在获得所述制品后,调用漏洞检查工具对所述制品进行依赖漏洞检查,以获得相应的漏洞检查结果并存储至所述数据库。
结合第一方面,在某些可选的实施方式中,所述方法还包括:
在Nacos服务中配置定时清除功能,以定时删除在所述Minio中的存储时长大于预设时长阈值的制品,以及定时删除在所述数据库中相应的制品信息。
结合第一方面,在某些可选的实施方式中,所述方法还包括:
获得所述版本流水线构建的所述制品的配置文件和质量报告,并将所述配置文件和质量报告存储至所述数据库。
结合第一方面,在某些可选的实施方式中,所述对所述制品进行校验,若校验通过,则将所述制品存储至对象存储服务器Minio,包括:
对所述制品进行文件校验和字段校验,若所述制品通过所述文件校验和所述字段校验,则确定是否所述数据库中已存在所述文件校验的当前校验值;
若所述数据库中已存在所述文件校验的当前校验值,则执行方式一或者方式二;
方式一、将所述制品覆盖相应应用之前存储在所述Minio中的制品;
方式二、删除所述制品,且保持相应应用之前存储在所述Minio中的制品不变;
若所述数据库中未存在所述文件校验的当前校验值,则将所述制品直接存储至Minio;
若所述制品未通过所述文件校验和所述字段校验中的至少一个,则生成校验未通过告警。
第二方面,一种制品管理系统,包括:制品库、数据库和对象存储服务器Minio,所述制品库包括:获得单元、制品校验单元、制品存储单元和信息存储单元;
所述获得单元,被配置为执行获得版本流水线构建的制品及相应的制品信息,其中,所述制品为构建应用的过程产物,所述制品信息包括:应用名称和版本号;
所述制品校验单元,被配置为执行对所述制品进行校验,若校验通过,则触发所述制品存储单元;
所述制品存储单元,被配置为执行将所述制品存储至所述对象存储服务器Minio;
所述信息存储单元,被配置为执行将所述制品信息存储至数据库,并在所述数据库中存储所述制品信息与所述制品的关联关系,其中,一个所述制品对应多条所述制品信息。
结合第二方面的实施方式,在某些可选的实施方式中,所述制品库还包括:文件检查单元;
所述文件检查单元、被配置为执行在将所述制品存储至所述Minio之前,执行与所述制品相对应的预设检查脚本,以通过所述预设检查脚本中的检查规则对所述制品进行文件检查,得到相应的文件检查结果并存储至所述数据库。
第三方面,一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现上述任一项所述的制品管理方法。
第四方面,一种电子设备,所述电子设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述任一项所述的制品管理方法。
借由上述技术方案,本发明提供的一种制品管理方法、系统、存储介质和电子设备,可以通过获得版本流水线构建的制品及相应的制品信息,其中,所述制品为构建应用的过程产物,所述制品信息包括:应用名称和版本号;对所述制品进行校验,若校验通过,则将所述制品存储至对象存储服务器Minio;将所述制品信息存储至数据库,并在所述数据库中存储所述制品信息与所述制品的关联关系,其中,一个所述制品对应多条所述制品信息。由此可以看出,本发明可以自动存储和维护大量制品,效率较高,且不易出现错误。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明提供的一种制品管理方法的流程图;
图2示出了本发明提供的一种制品管理系统的结构示意图;
图3示出了本发明提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,本发明提供了一种制品管理方法,包括:S100、S200和S300;
S100、获得版本流水线构建的制品及相应的制品信息,其中,所述制品为构建应用的过程产物,所述制品信息包括:应用名称和版本号;
可选的,版本流水线可以理解为:开发人员开发的代码经过质量保证工程师验收以后,被打上版本号交付的自动化流水线。其中,可以包括代码编译、构建、单元测试、代码质量管理平台Sonar检查、打包、打镜像和上传质量数据等过程,本发明对此不做限制。
可选的,制品可以理解为:构建软件应用的过程产物,其中包括:docker镜像、测试文档和doc文件等项目相关的二进制文件,本发明对此不做限制。
可选的,制品信息可以理解为:制品的相关信息以及制品对应的软件应用的相关信息,本发明对此不做限制。
可选的,版本流水线构建制品及构建相应制品的制品信息的过程是现有的技术内容,本发明对此不做过多描述,具体请参见本领域的相关技术内容,本发明对此不做限制。
例如,软件开发团队完成功能开发后,本发明可以使用版本流水线打板本进行交付,版本流水线中构建出的附带业务版本信息的制品,并可以将制品存储制品库。
可选的,对于任一应用而言,在其开发和不断完善、更新的过程中,可以产生相应不同的制品。即当应用的代码发生变化时,就可以获得新的制品,同样也可以获得相应新的制品的制品信息,本发明对此不做限制。
S200、对所述制品进行校验,若校验通过,则将所述制品存储至对象存储服务器Minio;
可选的,为了提高本发明的准确率,可以对制品进行校验,当制品通过校验时存储相应的制品;当制品未通过校验时,可以删除相应的制品,并且还可以产生相应的告警,本发明对此不做限制。
可选的,本发明校验的方式不做限制,任何可行的方式均属于本发明的保护范围。例如,结合图1所示的实施方式,在某些可选的实施方式中,所述S200,包括:步骤一、步骤二、步骤三和步骤四;
步骤一、对所述制品进行文件校验和字段校验,若所述制品通过所述文件校验和所述字段校验,则确定是否所述数据库中已存在所述文件校验的当前校验值;
步骤二、若所述数据库中已存在所述文件校验的当前校验值,则执行方式一或者方式二;
方式一、将所述制品覆盖相应应用之前存储在所述Minio中的制品;
方式二、删除所述制品,且保持相应应用之前存储在所述Minio中的制品不变;
步骤三、若所述数据库中未存在所述文件校验的当前校验值,则将所述制品直接存储至Minio;
步骤四、若所述制品未通过所述文件校验和所述字段校验中的至少一个,则生成校验未通过告警。
可选的,文件校验和字段校验的方式可以是:基于SHA1的文件完整性校验,即推送前客户端计算文件SHA1值并推送制品,执行本发明的设备接收到制品和SHA1值,并进行文件完整性校验,SHA1值相等即通过。本文所述的当前校验值可以理解为执行本发明的设备接收到制品后,对制品进行计算得到的SHA1值。而不是上述前客户端直接推送的SHA1值,本发明对此不做限制。
可选的,当前校验值与制品可以是一一对应的关系,即不同的制品计算得到的校验值不同,相同的一份制品计算得到的校验值相同。若所述数据库中已存在所述文件校验的当前校验值时,则说明相应的制品在先前已经过文件校验,并存储在Minio中,则保存其中一个制品,即执行方式一或者方式二;本发明可以将所述制品覆盖相应应用之前存储在所述Minio中的制品;若所述数据库中未存在所述文件校验的当前校验值,则说明相应的制品在先前未经过文件校验,即未存储在Minio中,所以可以将所述制品直接存储至Minio,本发明对此不做限制。
可选的,本文所述的若所述数据库中已存在所述文件校验的当前校验值,则将所述制品覆盖相应应用之前存储在所述Minio中的制品,可以理解为:覆盖相应应用之前存储在Minio中的、校验值与当前校验值相同的制品,而不是覆盖相应应用之前存储在所述Minio中的全部制品,仅是覆盖校验值与当前校验值相同的制品,本发明对此不做限制。
可选的,除了可以覆盖,本发明还可以进行更详细的划分。例如,如果当前校验值相同,且新传入的制品的航司租户参数不变。则可以删除新传入的制品,保留原来已经存储的制品。因为当前校验值相同代表制品相同,若航司也相同,则同一个制品不会存两份。
又例如,如果当前校验值相同,且新传入的制品的航司租户参数发生变化了,则可以保存新传入的制品且保留原来已经存储的、相同当前校验值的制品。因为制品需要对不同航司租户隔离,不能共用,本发明对此不做限制。
可选的,本发明不限制于使用Minio作为存储制品的存储介质,任何可行的存储介质均可以作为本发明存储制品的存储介质,本发明对此不做限制。
可选的,使用Minio可以存储任何类型的制品。例如,基于容器化环境的docker二进制文件、基于虚拟机部署的jar、war二级制文件和大数据场景下编译好的Python二级制文件等,本发明对此不做限制。
S300、将所述制品信息存储至数据库,并在所述数据库中存储所述制品信息与所述制品的关联关系,其中,一个所述制品对应多条所述制品信息。
可选的,制品信息记录了航司信息、部门信息、产品线信息、应用信息以及相应的发布版本号信息,本发明对此不做限制。
可选的,为了便于后续对制品进行检索,所以可以在数据库中存储制品信息与制品的关联关系,使得后续可以通过输入信息查询相应的制品,本发明对此不做限制。
可选的,对于具体一个应用,在不发布新版本时,也可以通过远程上传功能上传指定应用、指定版本的制品。如此可以调整制品库中的制品,以防制品库中的制品出现问题。具体包括如下步骤:
步骤A:页面展示新建上传任务时候的所有内容选项,包括所有制品选项。
步骤B:如果没有上传完成,状态展示上传中,展示实时日志。
步骤C:上传成功,则可以选择查看日志。
步骤D:如果上传失败,则展示日志。
步骤E:可查看上传任务历史列表页面。
可选的,本发明通过获得版本流水线构建的制品及相应的制品信息,其中,所述制品为构建应用的过程产物,所述制品信息包括:应用名称和版本号;对所述制品进行校验,若校验通过,则将所述制品存储至对象存储服务器Minio;将所述制品信息存储至数据库,并在所述数据库中存储所述制品信息与所述制品的关联关系,其中,一个所述制品对应多条所述制品信息。由此可以看出,本发明可以自动存储和维护大量制品,效率较高,且不易出现错误。
可选的,为了提高本发明的准确性,除了可以对制品进行上述校验,还可以对制品进行检查。例如结合图1所示的实施方式,在某些可选的实施方式中,所述方法还包括:
在将所述制品存储至所述Minio之前,执行与所述制品相对应的预设检查脚本,以通过所述预设检查脚本中的检查规则对所述制品进行文件检查,得到相应的文件检查结果并存储至所述数据库。
可选的,本文所述的预设检查脚本可以是设置在其他服务器上的脚本,即由其它服务器异步进行文件检查。当然,也可以是设置在执行本发明的设备上,执行本发明的设备执行,本发明对此不做限制。
可选的,检查规则可以是扫描该制品特有的特征值,确保生产部署相应应用的正确性,期间可以根据文件检查列表,递归扫描制品中的所有文件,然后给出相应的文件检查结果,本发明对此不做限制。
可选的,文件检查结果存储在数据库中可以有利于后续查看相应文件检查结果,从而了解生产部署应用的一些过程,本发明对此不做限制。
可选的,为了进一步提高本发明的准确性,除了可以进行上述文件检查,还可以对制品进行漏洞检查。例如,结合图1所示的实施方式,在某些可选的实施方式中,所述方法还包括:
在获得所述制品后,调用漏洞检查工具对所述制品进行依赖漏洞检查,以获得相应的漏洞检查结果并存储至所述数据库。
可选的,文件上传至制品库后,即制品库获得所述制品后,可以对制品进行异步的依赖漏洞检查。例如,通过部署在其他服务器上的Rundeck服务,调用漏洞检查工具dependency-check对制品进行依赖漏洞检查,检查结束后将检查报告通过回调接口保存至数据库,以供用户后续查看,本发明对此不做限制。
可选的,Rundeck是用Java/Grails写的开源工具,帮助用户在数据中心或者云环境中自动化各种操作和流程。通过命令行或者web界面,用户可以对任意数量的服务器进行操作,大大降低了对服务器自动化的门槛。
可选的,dependency-check是OWASP(Open Web Application Security Project)的一个实用开源程序,用于识别项目依赖项并检查是否存在任何已知的,公开披露的漏洞。目前,已支持Java、.NET、Ruby、PHP、Node.js、Python等语言编写的程序,并为C/C++构建系统(autoconf和cmake)提供了有限的支持。
可选的,依赖漏洞检查的过程包括:1、制品的安全漏洞扫描;2、扫描制品中依赖包的特征值,根据特征值和国际安全漏洞数据库做比较;3、匹配的命中的数据并给出相应的安全漏洞描述报告作为漏洞检查结果,本发明对此不做限制。
结合图1所示的实施方式,在某些可选的实施方式中,所述方法还包括:
在Nacos服务中配置定时清除功能,以定时删除在所述Minio中的存储时长大于预设时长阈值的制品,以及定时删除在所述数据库中相应的制品信息。
可选的,Nacos是新开源的项目,是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台。
可选的,为了提高本发明存储资源的利用率,可以检查并删除一些不常用且存储了很久的制品。即通过在Nacos服务中配置定时清除功能,在打开该功能后,执行本发明的设备可以定时删除不常用且存储了很久的制品,从而提高本发明的存储资源的利用率,本发明对此不做限制。
结合图1所示的实施方式,在某些可选的实施方式中,所述方法还包括:
获得所述版本流水线构建的所述制品的配置文件和质量报告,并将所述配置文件和质量报告存储至所述数据库。
可选的,本发明所说的获得所述版本流水线构建的所述制品的配置文件和质量报告,可以理解为:应用制品包,启动所使用的配置文件和进行对应的自动化质量测试并获得报告,本发明对此不做限制。
可选的,为了提供灵活的检索功能,可以引入了持久化库oracle,即本文所说的数据库可以是oracle数据库。在用户上传制品后,可以把制品的相关信息持久化到oracle数据库,这个动作必须保证一致性,以便后续的可以查询到制品。
用户通过制品库的制品列表接口可以查看制品列表,并且可以提供制品信息作为查询条件来检索符合条件的制品,还可以在制品列表或检索制品的结果列表选择下载指定的制品,本发明对此不做限制。
可选的,为了优化下载制品的过程,采用流转换的思想,从Minio中获取文件流,然后直接将该流写出到响应中,如此可以提升下载速度和系统资源利用率。下载制品时,首先检索持久化库中是否存在制品记录,若存在,则根据持久化库中的相应信息为响应添加Header等必要字段,然后到Minio中提取文件流,将该流直接写回到响应中返回给下载方,本发明对此不做限制。
如图2所示,一种制品管理系统,包括:制品库100、数据库200和对象存储服务器Minio300,所述制品库100包括:获得单元、制品校验单元、制品存储单元和信息存储单元;
所述获得单元,被配置为执行获得版本流水线构建的制品及相应的制品信息,其中,所述制品为构建应用的过程产物,所述制品信息包括:应用名称和版本号;
所述制品校验单元,被配置为执行对所述制品进行校验,若校验通过,则触发所述制品存储单元;
所述制品存储单元,被配置为执行将所述制品存储至所述对象存储服务器Minio300;
所述信息存储单元,被配置为执行将所述制品信息存储至数据库200,并在所述数据库200中存储所述制品信息与所述制品的关联关系,其中,一个所述制品对应多条所述制品信息。
结合图2所示的实施方式,在某些可选的实施方式中,所述制品库100还包括:文件检查单元;
所述文件检查单元、被配置为执行在将所述制品存储至所述Minio300之前,执行与所述制品相对应的预设检查脚本,以通过所述预设检查脚本中的检查规则对所述制品进行文件检查,得到相应的文件检查结果并存储至所述数据库200。
结合图2所示的实施方式,在某些可选的实施方式中,所述制品库100还包括:漏洞检查单元;
所述漏洞检查单元,被配置为执行在获得所述制品后,调用漏洞检查工具对所述制品进行依赖漏洞检查,以获得相应的漏洞检查结果并存储至所述数据库200。
结合图2所示的实施方式,在某些可选的实施方式中,所述制品库100还包括:定时清除单元;
所述定时清除单元,被配置为执行在Nacos服务中配置定时清除功能,以定时删除在所述Minio300中的存储时长大于预设时长阈值的制品,以及定时删除在所述数据库200中相应的制品信息。
结合图2所示的实施方式,在某些可选的实施方式中,所述方法还包括:
获得所述版本流水线构建的所述制品的配置文件和质量报告,并将所述配置文件和质量报告存储至所述数据库200。
结合图2所示的实施方式,在某些可选的实施方式中,所述制品校验单元,包括:校验子单元和校验告警子单元;
所述制品存储单元,包括:校验值确定子单元、覆盖存储子单元和直接存储子单元,包括:
所述校验子单元,被配置为执行对所述制品进行文件校验和字段校验,若所述制品通过所述文件校验和所述字段校验,则触发所述校验值确定子单元;
所述校验值确定子单元,被配置为执行确定是否所述数据库200中已存在所述文件校验的当前校验值;
所述覆盖存储子单元,被配置为执行若所述数据库200中已存在所述文件校验的当前校验值,则执行方式一或者方式二;
方式一、将所述制品覆盖相应应用之前存储在所述Minio中的制品;
方式二、删除所述制品,且保持相应应用之前存储在所述Minio中的制品不变;
所述直接存储子单元,被配置为执行若所述数据库200中未存在所述文件校验的当前校验值,则将所述制品直接存储至Minio300。
所述校验告警子单元,被配置为执行若所述制品未通过所述文件校验和所述字段校验中的至少一个,则生成校验未通过告警。
本发明提供了一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现上述任一项所述的制品管理方法。
如图3所示,本发明提供了一种电子设备70,所述电子设备70包括至少一个处理器701、以及与所述处理器701连接的至少一个存储器702、总线703;其中,所述处理器701、所述存储器702通过所述总线703完成相互间的通信;所述处理器701用于调用所述存储器702中的程序指令,以执行上述任一项所述的制品管理方法。
在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种制品管理方法,其特征在于,包括:
获得版本流水线构建的制品及相应的制品信息,其中,所述制品为构建应用的过程产物,所述制品信息包括:应用名称和版本号;
对所述制品进行校验,若校验通过,则将所述制品存储至对象存储服务器Minio;
将所述制品信息存储至数据库,并在所述数据库中存储所述制品信息与所述制品的关联关系,其中,一个所述制品对应多条所述制品信息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在将所述制品存储至所述Minio之前,执行与所述制品相对应的预设检查脚本,以通过所述预设检查脚本中的检查规则对所述制品进行文件检查,得到相应的文件检查结果并存储至所述数据库。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在获得所述制品后,调用漏洞检查工具对所述制品进行依赖漏洞检查,以获得相应的漏洞检查结果并存储至所述数据库。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在Nacos服务中配置定时清除功能,以定时删除在所述Minio中的存储时长大于预设时长阈值的制品,以及定时删除在所述数据库中相应的制品信息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获得所述版本流水线构建的所述制品的配置文件和质量报告,并将所述配置文件和质量报告存储至所述数据库。
6.根据权利要求1所述的方法,其特征在于,所述对所述制品进行校验,若校验通过,则将所述制品存储至对象存储服务器Minio,包括:
对所述制品进行文件校验和字段校验,若所述制品通过所述文件校验和所述字段校验,则确定是否所述数据库中已存在所述文件校验的当前校验值;
若所述数据库中已存在所述文件校验的当前校验值,则执行方式一或者方式二;
方式一、将所述制品覆盖相应应用之前存储在所述Minio中的制品;
方式二、删除所述制品,且保持相应应用之前存储在所述Minio中的制品不变;
若所述数据库中未存在所述文件校验的当前校验值,则将所述制品直接存储至Minio;
若所述制品未通过所述文件校验和所述字段校验中的至少一个,则生成校验未通过告警。
7.一种制品管理系统,其特征在于,包括:制品库、数据库和对象存储服务器Minio,所述制品库包括:获得单元、制品校验单元、制品存储单元和信息存储单元;
所述获得单元,被配置为执行获得版本流水线构建的制品及相应的制品信息,其中,所述制品为构建应用的过程产物,所述制品信息包括:应用名称和版本号;
所述制品校验单元,被配置为执行对所述制品进行校验,若校验通过,则触发所述制品存储单元;
所述制品存储单元,被配置为执行将所述制品存储至所述对象存储服务器Minio;
所述信息存储单元,被配置为执行将所述制品信息存储至数据库,并在所述数据库中存储所述制品信息与所述制品的关联关系,其中,一个所述制品对应多条所述制品信息。
8.根据权利要求7所述的制品管理系统,其特征在于,所述制品库还包括:文件检查单元;
所述文件检查单元、被配置为执行在将所述制品存储至所述Minio之前,执行与所述制品相对应的预设检查脚本,以通过所述预设检查脚本中的检查规则对所述制品进行文件检查,得到相应的文件检查结果并存储至所述数据库。
9.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时实现如权利要求1至6中任一项所述的制品管理方法。
10.一种电子设备,其特征在于,所述电子设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1至6中任一项所述的制品管理方法。
CN202111614926.6A 2021-12-27 2021-12-27 一种制品管理方法、系统、存储介质和电子设备 Pending CN114416163A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111614926.6A CN114416163A (zh) 2021-12-27 2021-12-27 一种制品管理方法、系统、存储介质和电子设备
PCT/CN2022/089162 WO2023123768A1 (zh) 2021-12-27 2022-04-26 一种制品管理方法、系统、存储介质和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111614926.6A CN114416163A (zh) 2021-12-27 2021-12-27 一种制品管理方法、系统、存储介质和电子设备

Publications (1)

Publication Number Publication Date
CN114416163A true CN114416163A (zh) 2022-04-29

Family

ID=81269654

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111614926.6A Pending CN114416163A (zh) 2021-12-27 2021-12-27 一种制品管理方法、系统、存储介质和电子设备

Country Status (2)

Country Link
CN (1) CN114416163A (zh)
WO (1) WO2023123768A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115617788A (zh) * 2022-12-20 2023-01-17 广州嘉为科技有限公司 一种制品清理方法、装置及计算机可读存储介质

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110214114A1 (en) * 2010-02-26 2011-09-01 Seth Kelby Vidal Systems and methods for determining compatibility of a software package update using a version identifier
WO2014019093A1 (en) * 2012-08-01 2014-02-06 Sherpa Technologies Inc. System and method for managing versions of program assets
CN104572800A (zh) * 2013-09-25 2015-04-29 达索系统美国公司 Ic设计数据的比较与合并
US20150269049A1 (en) * 2014-03-24 2015-09-24 Freescale Semiconductor, Inc. Verification system and method for automated verification of register information for an electronic system
WO2017074414A1 (en) * 2015-10-30 2017-05-04 Hewlett Packard Enterprise Development Lp Software kit release management
US20180314518A1 (en) * 2017-04-28 2018-11-01 Servicenow, Inc. Systems and methods for tracking configuration file changes
CN109189464A (zh) * 2018-07-11 2019-01-11 高新兴科技集团股份有限公司 一种版本管理的方法和设备
CN110413312A (zh) * 2019-07-15 2019-11-05 北京三快在线科技有限公司 一种管理应用程序的方法、装置、设备及存储介质
CN110489156A (zh) * 2019-07-09 2019-11-22 北京字节跳动网络技术有限公司 二进制格式的版本控制方法、装置、介质及电子设备
CN110489161A (zh) * 2019-08-22 2019-11-22 腾讯科技(深圳)有限公司 一种版本文件的管理方法及相关装置
CN110716737A (zh) * 2019-08-29 2020-01-21 北斗航天卫星应用科技集团有限公司 系统应用版本管理系统及系统应用版本管理方法
US20200057633A1 (en) * 2018-08-20 2020-02-20 Microsoft Technology Licensing, Llc Building and deploying binary artifacts
CN111625528A (zh) * 2020-05-28 2020-09-04 腾讯科技(深圳)有限公司 配置管理数据库的校验方法、装置及可读存储介质
CN111651189A (zh) * 2020-04-28 2020-09-11 广州视源电子科技股份有限公司 持续集成系统的产品交付方法及装置、电子设备
CN112363753A (zh) * 2020-11-17 2021-02-12 上海米哈游天命科技有限公司 数据校验方法、装置、电子设备及存储介质
CN112764774A (zh) * 2020-12-31 2021-05-07 炬星科技(深圳)有限公司 一种制品信息管理方法、管理系统、电子设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445485A (zh) * 2016-03-28 2017-02-22 中国电力科学研究院 一种软件版本一致性检测系统及其检测方法
US11727117B2 (en) * 2018-12-19 2023-08-15 Red Hat, Inc. Vulnerability analyzer for application dependencies in development pipelines
CN112100194A (zh) * 2020-10-10 2020-12-18 苏州浪潮智能科技有限公司 一种数据库版本管理方法及系统
CN112488855B (zh) * 2020-11-23 2024-02-13 中国人寿保险股份有限公司 一种基于规则模板的业务校验方法及设备
CN113448855A (zh) * 2021-07-07 2021-09-28 中国工商银行股份有限公司 数据库版本包检测方法及装置

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110214114A1 (en) * 2010-02-26 2011-09-01 Seth Kelby Vidal Systems and methods for determining compatibility of a software package update using a version identifier
WO2014019093A1 (en) * 2012-08-01 2014-02-06 Sherpa Technologies Inc. System and method for managing versions of program assets
CN104572800A (zh) * 2013-09-25 2015-04-29 达索系统美国公司 Ic设计数据的比较与合并
US20150269049A1 (en) * 2014-03-24 2015-09-24 Freescale Semiconductor, Inc. Verification system and method for automated verification of register information for an electronic system
WO2017074414A1 (en) * 2015-10-30 2017-05-04 Hewlett Packard Enterprise Development Lp Software kit release management
US20180314518A1 (en) * 2017-04-28 2018-11-01 Servicenow, Inc. Systems and methods for tracking configuration file changes
CN109189464A (zh) * 2018-07-11 2019-01-11 高新兴科技集团股份有限公司 一种版本管理的方法和设备
US20200057633A1 (en) * 2018-08-20 2020-02-20 Microsoft Technology Licensing, Llc Building and deploying binary artifacts
CN110489156A (zh) * 2019-07-09 2019-11-22 北京字节跳动网络技术有限公司 二进制格式的版本控制方法、装置、介质及电子设备
CN110413312A (zh) * 2019-07-15 2019-11-05 北京三快在线科技有限公司 一种管理应用程序的方法、装置、设备及存储介质
CN110489161A (zh) * 2019-08-22 2019-11-22 腾讯科技(深圳)有限公司 一种版本文件的管理方法及相关装置
CN110716737A (zh) * 2019-08-29 2020-01-21 北斗航天卫星应用科技集团有限公司 系统应用版本管理系统及系统应用版本管理方法
CN111651189A (zh) * 2020-04-28 2020-09-11 广州视源电子科技股份有限公司 持续集成系统的产品交付方法及装置、电子设备
CN111625528A (zh) * 2020-05-28 2020-09-04 腾讯科技(深圳)有限公司 配置管理数据库的校验方法、装置及可读存储介质
CN112363753A (zh) * 2020-11-17 2021-02-12 上海米哈游天命科技有限公司 数据校验方法、装置、电子设备及存储介质
CN112764774A (zh) * 2020-12-31 2021-05-07 炬星科技(深圳)有限公司 一种制品信息管理方法、管理系统、电子设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
杰蛙科技DEVSECOPS: "制品管理双雄-JFog vs Sonatype", Retrieved from the Internet <URL:https://mp.weixin.qq.com/s/wnNNqsF17CdTqaS7p5KLTQ> *
沈力: "基于代码版本控制的软件跟踪方法研究", 信息科技辑, 15 July 2019 (2019-07-15) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115617788A (zh) * 2022-12-20 2023-01-17 广州嘉为科技有限公司 一种制品清理方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
WO2023123768A1 (zh) 2023-07-06

Similar Documents

Publication Publication Date Title
CN110321254B (zh) 软件版本回滚方法、装置、服务器及存储介质
US9940225B2 (en) Automated error checking system for a software application and method therefor
CN107896244B (zh) 一种版本文件的分发方法、客户端及服务器
EP1873706A1 (en) Systems and methods for integrating services
CN107797889B (zh) 一种检验系统文件备份完整性的方法和装置
CN111324522A (zh) 一种自动化测试系统及方法
CN113111000B (zh) 持续集成自动化测试系统和方法、电子设备、存储介质
CN111414302A (zh) 用于持续集成过程中的静态代码质量分析方法及计算设备
US11573780B2 (en) Automated generation of status chains for software updates
CN111651352B (zh) 一种仓库代码的合并方法及装置
CN110908670A (zh) 一种自动发布服务的方法及装置
CN112702195A (zh) 网关配置方法、电子设备及计算机可读存储介质
CN110727575A (zh) 一种信息处理方法、系统、装置、以及存储介质
CN114416163A (zh) 一种制品管理方法、系统、存储介质和电子设备
CN116501652B (zh) 基于saas系统的可持续集成的自动化测试方法及系统
CN117055930A (zh) 一种系统升级部署方法和系统
CN113050926B (zh) 一种代码同步变更的确认方法、装置和设备
CN109814911A (zh) 用于管理脚本程序的方法、装置、计算机设备及存储介质
CN114371870A (zh) 代码扫描、提交方法及代码扫描服务器、客户端和服务端
CN113377468A (zh) 一种脚本执行方法、装置、电子设备及存储介质
CN111651189A (zh) 持续集成系统的产品交付方法及装置、电子设备
CN111966394B (zh) 基于etl的数据分析方法、装置、设备和存储介质
CN117834602A (zh) 代码下载方法、装置、设备及存储介质
CN117707600A (zh) 一种应用发布方法、装置、电子设备及存储介质
CN116661899A (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