CN114995872A - 基于DevOps的项目管理方法、装置及存储介质 - Google Patents
基于DevOps的项目管理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114995872A CN114995872A CN202210647333.8A CN202210647333A CN114995872A CN 114995872 A CN114995872 A CN 114995872A CN 202210647333 A CN202210647333 A CN 202210647333A CN 114995872 A CN114995872 A CN 114995872A
- Authority
- CN
- China
- Prior art keywords
- product
- binary
- passive code
- item
- pipeline
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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/3668—Software testing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供了一种基于DevOps的项目管理方法、装置及存储介质。该方法包括:根据无源码类项目创建请求创建无源码类项目;将所述无源码类项目对应的新建的二进制制品部署到制品中心的测试制品库,所述测试制品库触发流水线;所述流水线基于所述新建的二进制制品对所述无源码类项目进行管理。通过本发明,解决了相关技术中DevOps平台无法支持无源码类项目的串联及管理的问题,实现了DevOps系统对无源码类项目的串联及管理。
Description
技术领域
本发明实施例涉及通信领域,具体而言,涉及一种基于DevOps的项目管理方法、装置及存储介质。
背景技术
DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(Quality Assurance,QA)部门之间的沟通、协作与整合。
目前业内DevOps平台,绝大多数都是以代码库起点,建设有源码类项目,串联DevOps平台体系,针对传统行业内的无源码类项目的制品管理、测试、部署、发布、回滚等,还没有一个成熟完善的串联及管理方案。
传统企业数字化转型,在DevOps实践中,往往面临众多无源码的项目,而无源码的项目中,外包厂商仅提供制品包。此类无源码的项目完全依赖外部厂商,在传统企业内部对该类项目制品安全及稳定性无法把控,项目制品上下线都采用手工管理,管理流程体系混乱,上线周期长,回退步骤繁琐。
发明内容
本发明实施例提供了一种基于DevOps的项目管理方法、装置及存储介质,以至少解决相关技术中DevOps平台无法支持无源码类项目的串联及管理的问题。
根据本发明的一个实施例,提供了一种基于DevOps的项目管理方法,包括:根据无源码类项目创建请求创建无源码类项目;将所述无源码类项目对应的新建的二进制制品部署到制品中心的测试制品库,所述测试制品库触发流水线;所述流水线基于所述新建的二进制制品对所述无源码类项目进行管理。
在至少一个示例性实施方式中,所述方法还包括:所述测试制品库检测到所述无源码类项目对应的二进制制品发生更新的情况下,所述测试制品库触发所述流水线;所述流水线基于所述更新的二进制制品对所述无源码类项目进行管理。
在至少一个示例性实施方式中,所述流水线包括主流水线和子流水线,所述测试制品库触发所述流水线包括:所述测试制品库通过钩子函数触发所述主流水线。
在至少一个示例性实施方式中,所述流水线包括主流水线和子流水线,所述流水线基于所述新建的二进制制品或所述更新的二进制制品对所述无源码类项目进行管理包括:通过所述主流水线中安装的用于读取测试制品库中的文件的插件,读取所述测试制品库中的所述新建的二进制制品或所述更新的二进制制品;根据所述主流水线的配置流程,基于读取的所述新建的二进制制品或所述更新的二进制制品对所述无源码类项目进行管理。
在至少一个示例性实施方式中,根据所述主流水线的配置流程,基于读取的所述新建的二进制制品或所述更新的二进制制品对所述无源码类项目进行管理包括:扫描读取的所述新建的二进制制品或所述更新的二进制制品;对所述新建的二进制制品或所述更新的二进制制品进行环境部署验证,其中,所述环境部署验证包括以下至少之一:开发环境部署验证、测试环境部署验证、预投产环境部署验证;对所述新建的二进制制品或所述更新的二进制制品进行测试。
在至少一个示例性实施方式中,对所述新建的二进制制品或所述更新的二进制制品进行测试之后,所述方法还包括:在满足预定条件的情况下,触发所述子流水线,其中,所述预定条件包括:对所述新建的二进制制品或所述更新的二进制制品进行测试通过;或者,对所述新建的二进制制品或所述更新的二进制制品进行测试通过且测试结果满足预定质量阈值;根据所述子流水线的配置流程,将所述新建的二进制制品或所述更新的二进制制品晋级至所述制品中心的生产制品库。
在至少一个示例性实施方式中,根据所述子流水线的配置流程,将所述新建的二进制制品或所述更新的二进制制品晋级至所述制品中心的生产制品库之后,所述方法还包括:发布中心对所述无源码类项目以及所述生产制品库中所述无源码类项目对应的所述二进制制品进行验证;在验证通过的情况下,对所述无源码类项目进行发布;在验证不通过的情况下,在所述生产制品库和/或所述测试制品库中对所述二进制制品进行版本回滚。
在至少一个示例性实施方式中,根据无源码类项目创建请求创建无源码类项目包括:根据所述无源码类项目创建请求,在组织管理中心创建所述无源码类项目,并接受对所述无源码类项目的项目信息的配置。
在至少一个示例性实施方式中,所述无源码类项目的项目信息包括以下至少之一:项目成员、所述项目成员的角色、流水线的配置流程。
根据本发明的另一个实施例,提供了一种基于DevOps的项目管理装置,包括:组织管理中心,用于根据无源码类项目创建请求创建无源码类项目;制品中心,包括测试制品库,其中,所述测试制品库用于存储所述无源码类项目对应的新建的二进制制品,并触发流水线;所述流水线,用于基于所述新建的二进制制品对所述无源码类项目进行管理。
在至少一个示例性实施方式中,所述测试制品库还用于在检测到所述无源码类项目对应的二进制制品发生更新的情况下,触发所述流水线;所述流水线,还用于基于所述更新的二进制制品对所述无源码类项目进行管理。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,根据无源码类项目创建请求创建无源码类项目;将所述无源码类项目对应的新建的二进制制品部署到制品中心的测试制品库,所述测试制品库触发流水线;所述流水线基于所述新建的二进制制品对所述无源码类项目进行管理。该方案以制品中心为核心,串联DevOps各模块,让无源码类制品享受DevOps体系带来的在全流程管理、自动化能力、变更管理等能力。因此,可以解决相关技术中DevOps平台无法支持无源码类项目的串联及管理的问题,实现了DevOps系统对无源码类项目的串联及管理。
附图说明
图1是云效平台的系统架构示意图;
图2是猪齿鱼平台的系统架构示意图;
图3是本发明实施例的一种基于DevOps的项目管理方法的计算机的硬件结构框图;
图4是根据本发明实施例的基于DevOps的项目管理方法的流程图;
图5是根据本发明实施例的基于DevOps的项目管理装置的结构框图;
图6是根据本发明实施例的基于DevOps的项目管理装置的详细结构框图;
图7是根据本发明实施例的基于DevOps的无源码类项目管理系统功能架构图;
图8是根据本发明实施例的基于DevOps的无源码类项目管理的流程示意图;
图9是根据本发明实施例的项目配置管理员上传部署二进制制品至测试环境的制品中心的示意图。
具体实施方式
目前业内DevOps平台,绝大多数都是以代码库起点,建设有源码类项目,串联DevOps平台体系。例如,图1是云效平台的系统架构示意图,如图1所示,云效平台以需求为价值单元,通过新建代码库特性分支,拉通端到端的交付过程,以流动效率为核心,组织跨职能协同。再例如,图2是猪齿鱼平台的系统架构示意图,如图2所示,猪齿鱼平台分为4部分,猪齿鱼平台也是从代码库分支管理,拉通端到端的交付过程。可见,当前主流的DevOps产品,绝大多数都是以需求为价值单元,通过新建代码库特性分支,拉通端到端的交付过程,串联敏捷看板、代码中心、流水线中心、制品库等DevOps核心模块,以流动效率为核心,组织跨职能协同。
面向传统行业内的无源码类项目,业内主流DevOps产品,存在的主要痛点在于以下几点:
项目与代码库耦合度较强,一般是一对一关联关系,传统DevOps平台不存在无源码类项目。
流水线中心,触发来源于代码库,面向无源码类项目仅有二进制制品,没有代码库触发不了流水线,仅有制品不能通过流水线进行开发测试环境的部署验证。
面向传统金融行业,缺乏制品管理流转规范。
可见,目前的DevOps平台,一般以需求&代码仓库为起点,建立项目与代码库的关联性,串联DevOps各模块,拉通端到端的交付过程,而面向传统行业的无源码类项目的制品管理、测试、部署、发布、回滚等,还没有一个成熟完善的串联及管理方案。本发明实施例和示例性实施例的面向无源码类项目,以制品中心为核心,串联DevOps各模块,让无源码类制品享受DevOps体系带来的在全流程管理、自动化能力、变更管理等能力。
另外,目前业内DevOps流水线,一般触发源都是代码仓库,根据代码仓库的版本更新,自动触发流水线,在本发明实施例和示例性实施例的基于DevOps的无源码类项目管理系统中,流水线触发源可来源于制品中心,根据制品版本变更,调用钩子函数,触发流水线。
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机上为例,图3是本发明实施例的一种基于DevOps的项目管理方法的计算机的硬件结构框图。如图3所示,计算机可以包括一个或多个(图3中仅示出一个)处理器302(处理器302可以包括但不限于中央处理器CPU、微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器304,其中,上述计算机还可以包括用于通信功能的传输设备306以及输入输出设备308。本领域普通技术人员可以理解,图3所示的结构仅为示意,其并不对上述计算机的结构造成限定。例如,计算机还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。
存储器304可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的基于DevOps的项目管理方法对应的计算机程序,处理器302通过运行存储在存储器304内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的基于DevOps的项目管理方法。存储器304可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器304可进一步包括相对于处理器302远程设置的存储器,这些远程存储器可以通过网络连接至计算机。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置306用于经由一个网络接收或者发送数据。上述的网络具体实例可包括通信供应商提供的无线网络或有线网络。
在本实施例中提供了一种运行于上述计算机的基于DevOps的项目管理方法,图4是根据本发明实施例的基于DevOps的项目管理方法的流程图,如图4所示,该流程包括如下步骤:
步骤S402,根据无源码类项目创建请求创建无源码类项目。
在至少一个示例性实施方式中,根据无源码类项目创建请求创建无源码类项目可以包括:根据所述无源码类项目创建请求,在组织管理中心创建所述无源码类项目,并接受对所述无源码类项目的项目信息的配置。
在至少一个示例性实施方式中,所述无源码类项目的项目信息可以包括以下至少之一:项目成员、所述项目成员的角色、流水线的配置流程。
步骤S404,将所述无源码类项目对应的新建的二进制制品部署到制品中心的测试制品库,所述测试制品库触发流水线。
在至少一个示例性实施方式中,所述流水线可以包括主流水线和子流水线,所述测试制品库触发所述流水线可以包括:所述测试制品库通过钩子函数触发所述主流水线。
步骤S406,所述流水线基于所述新建的二进制制品对所述无源码类项目进行管理。
在至少一个示例性实施方式中,所述方法还可以包括:所述测试制品库检测到所述无源码类项目对应的二进制制品发生更新的情况下,所述测试制品库触发所述流水线;所述流水线基于所述更新的二进制制品对所述无源码类项目进行管理。根据该方案,不仅仅在新建二进制制品到所述测试制品库的情况下触发流水线,当存储在所述测试制品库的二进制制品发生更新(例如,存在版本变更,可以包括版本演进以及版本回滚)同样会触发流水线,从而实现对该无源码类项目的流畅、连续的管理。
在至少一个示例性实施方式中,所述流水线可以包括主流水线和子流水线,所述流水线基于所述新建的二进制制品或所述更新的二进制制品对所述无源码类项目进行管理可以包括:通过所述主流水线中安装的用于读取测试制品库中的文件的插件,读取所述测试制品库中的所述新建的二进制制品或所述更新的二进制制品;根据所述主流水线的配置流程,基于读取的所述新建的二进制制品或所述更新的二进制制品对所述无源码类项目进行管理。
在至少一个示例性实施方式中,根据所述主流水线的配置流程,基于读取的所述新建的二进制制品或所述更新的二进制制品对所述无源码类项目进行管理可以包括:扫描读取的所述新建的二进制制品或所述更新的二进制制品;对所述新建的二进制制品或所述更新的二进制制品进行环境部署验证,其中,所述环境部署验证可以包括以下至少之一:开发环境部署验证、测试环境部署验证、预投产环境部署验证;对所述新建的二进制制品或所述更新的二进制制品进行测试。
在至少一个示例性实施方式中,对所述新建的二进制制品或所述更新的二进制制品进行测试之后,所述方法还可以包括:在满足预定条件的情况下,触发所述子流水线,其中,所述预定条件可以包括:对所述新建的二进制制品或所述更新的二进制制品进行测试通过;或者,对所述新建的二进制制品或所述更新的二进制制品进行测试通过且测试结果满足预定质量阈值;根据所述子流水线的配置流程,将所述新建的二进制制品或所述更新的二进制制品晋级至所述制品中心的生产制品库。
在至少一个示例性实施方式中,根据所述子流水线的配置流程,将所述新建的二进制制品或所述更新的二进制制品晋级至所述制品中心的生产制品库之后,所述方法还可以包括:发布中心对所述无源码类项目以及所述生产制品库中所述无源码类项目对应的所述二进制制品进行验证;在验证通过的情况下,对所述无源码类项目进行发布;在验证不通过的情况下,在所述生产制品库和/或所述测试制品库中对所述二进制制品进行版本回滚。
通过上述步骤,根据无源码类项目创建请求创建无源码类项目;将所述无源码类项目对应的新建的二进制制品部署到制品中心的测试制品库,所述测试制品库触发流水线;所述流水线基于所述新建的二进制制品对所述无源码类项目进行管理。该方案以制品中心为核心,串联DevOps各模块,让无源码类制品享受DevOps体系带来的在全流程管理、自动化能力、变更管理等能力。因此,可以解决相关技术中DevOps平台无法支持无源码类项目的串联及管理的问题,实现了DevOps系统对无源码类项目的串联及管理。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种基于DevOps的项目管理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明实施例的基于DevOps的项目管理装置的结构框图,如图5所示,该装置包括:
组织管理中心52,用于根据无源码类项目创建请求创建无源码类项目;
制品中心54,可以包括测试制品库541,其中,所述测试制品库541用于存储所述无源码类项目对应的新建的二进制制品,并触发流水线56;
流水线56,用于基于所述新建的二进制制品对所述无源码类项目进行管理。
在至少一个示例性实施方式中,所述测试制品库541还用于在检测到所述无源码类项目对应的二进制制品发生更新的情况下,触发所述流水线56;所述流水线56,还用于基于所述更新的二进制制品对所述无源码类项目进行管理。
在至少一个示例性实施方式中,所述流水线56包括主流水线561和子流水线562,所述测试制品库541触发所述流水线56包括:所述测试制品库541通过钩子函数触发所述主流水线561。
在至少一个示例性实施方式中,所述流水线56包括主流水线561和子流水线562,所述流水线56用于通过所述主流水线561中安装的用于读取测试制品库541中的文件的插件,读取所述测试制品库541中的所述新建的二进制制品或所述更新的二进制制品;根据所述主流水线561的配置流程,基于读取的所述新建的二进制制品或所述更新的二进制制品对所述无源码类项目进行管理。
在至少一个示例性实施方式中,所述流水线56用于通过以下方式根据所述主流水线561的配置流程,基于读取的所述新建的二进制制品或所述更新的二进制制品对所述无源码类项目进行管理:扫描读取的所述新建的二进制制品或所述更新的二进制制品;对所述新建的二进制制品或所述更新的二进制制品进行环境部署验证,其中,所述环境部署验证包括以下至少之一:开发环境部署验证、测试环境部署验证、预投产环境部署验证;对所述新建的二进制制品或所述更新的二进制制品进行测试。
在至少一个示例性实施方式中,所述流水线56还用于在满足预定条件的情况下,触发所述子流水线562,其中,所述预定条件包括:对所述新建的二进制制品或所述更新的二进制制品进行测试通过;或者,对所述新建的二进制制品或所述更新的二进制制品进行测试通过且测试结果满足预定质量阈值;根据所述子流水线562的配置流程,将所述新建的二进制制品或所述更新的二进制制品晋级至所述制品中心54的生产制品库542。
图6是根据本发明实施例的基于DevOps的项目管理装置的详细结构框图,如图6所示,在至少一个示例性实施方式中,该装置还包括:发布中心62,用于在所述流水线56根据所述子流水线562的配置流程,将所述新建的二进制制品或所述更新的二进制制品晋级至所述制品中心54的生产制品库542之后,对所述无源码类项目以及所述生产制品库542中所述无源码类项目对应的所述二进制制品进行验证;在验证通过的情况下,对所述无源码类项目进行发布;在验证不通过的情况下,在所述生产制品库542和/或所述测试制品库541中对所述二进制制品进行版本回滚。
在至少一个示例性实施方式中,所述组织管理中心52用于根据所述无源码类项目创建请求,在组织管理中心52创建所述无源码类项目,并接受对所述无源码类项目的项目信息的配置。在至少一个示例性实施方式中,所述无源码类项目的项目信息包括以下至少之一:项目成员、所述项目成员的角色、流水线56的配置流程。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,根据无源码类项目创建请求创建无源码类项目;
S2,将所述无源码类项目对应的新建的二进制制品部署到制品中心的测试制品库,所述测试制品库触发流水线;
S3,所述流水线基于所述新建的二进制制品对所述无源码类项目进行管理。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
在一个示例性实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,根据无源码类项目创建请求创建无源码类项目;
S2,将所述无源码类项目对应的新建的二进制制品部署到制品中心的测试制品库,所述测试制品库触发流水线;
S3,所述流水线基于所述新建的二进制制品对所述无源码类项目进行管理。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
以下通过示例性实施例,详细描述本发明实施例的基于DevOps的无源码类项目管理方法及系统功能架构设计及实现。
图7是根据本发明实施例的基于DevOps的无源码类项目管理系统功能架构图,如图7所示,面向传统行业的基于DevOps的无源码类项目管理交付系统,基于微服务架构,具有良好的业务扩展能力。包括度量中心,需求中心,流水线中心,代码中心,制品中心,发布中心以及组织管理中心,每个部分采用独立的微服务设计,可根据需要选择所需部分补充现有的工作流,整体提供完整的Devops服务,并针对无源码类项目,提供基于制品中心串联的DevOps平台的整体方案及相关模块设计。
度量中心:全方位多角度量化devops各环节度量指标,提供度量评分、链路仪表盘可视化管理,供组织级、项目级、项目成员不同视角多维度观测。
需求中心:为团队提供高效的团队协作服务,包含项目管理,需求管理,可配置的敏捷看板,故事地图,缺陷管理,需求、代码、制品相关联,变更集查看,测试管理,投产管理等功能,提供拖放式的计划和灵活的工作项跟踪,并使用强大的分析工具和仪表盘获取和监视项目的运行情况和进度,为敏捷团队以及传统团队提供完整的项目管理工具。
代码中心:为团队代码提供基于git以及gitlab的代码托管平台,包括代码的克隆,查看,比较,代码分支合并,以及代码评审等功能。
流水线中心:可视化的展示交付流水线,提高交付质量和效率。该流水线数据源既可以是gitlab代码仓库,也可以是二进制制品(面向无源码类项目设计)。流水线支持编译构建,部署,单元测试,代码扫描等,采用插件式的设计方式,并可对接各类第三方插件。编译构建支持虚拟机编译以及容器编译,支持maven,ant,gradle等多种编译方式。部署支持虚拟机部署和容器部署。单元测试插件将运行构建任务中的单元测试用例,并可在平台查看单元测试报告,单元测试覆盖率,代码扫描问题数等指标。
需要说明的是,编译构建、部署、单元测试、代码扫描这些功能插件都是devops平台本身所具有的能力。在这一个背景上,本发明实施例基于制品库串联整个devops平台管理无源码类制品(比如制品库nexus集成jenkins,通过钩子函数触发jenkins流水线,进行制品扫描->测试->部署),从而实现无源码类项目的全方位串联和管理。
在本发明实施例中,制品库与流水线集成可以采用以下技术手段。制品库采用nexus,流水线基于jenkins实现,整体集成技术手段如下:jenkins安装Maven ArtifactChoiceListProvider(Nexus)等插件,每当用户上传新版本制品后,会通过制品库的钩子函数,触发jenkins流水线,jenkins从制品库中下载制品,然后通过salt、ansible进行发布部署等操作。需要说明的是,该示例仅仅为便于对方案的进一步理解,但不应当理解为仅仅按照该实施方式进行实施。
组织管理中心:提供企业项目的初始化配置,包括项目的创建,项目代码库创建或者关联,团队管理,流程管理,权限管理,审批配置等功能,此处针对无源码类项目,设计无源码类项目,取消代码库与项目的强关联性。
制品中心:提供多种制品(jar、war、node等)管理方案,串联流水线开发测试预投产环境,采用开发测试、生产分库管理模式,提供制品晋级功能,当制品测试通过并满足一定质量门禁后,可供流水线把测试环境制品从测试环境制品库的制品晋级至生产环境制品库,供发布中心进行相应投产审批工作。
发布中心:面向传统行业定制化设计,面向生产环境提供金丝雀发布、蓝绿发布等多元化发布策略,极大地满足传统行业生产环境的强稳定性要求。
图8是根据本发明实施例的基于DevOps的无源码类项目管理的流程示意图,如图8所示,基于DevOps的无源码类项目管理流程如下:
(1)组织管理中心新建“无源码类项目”,添加项目成员,分配项目配置管理员、项目成员等角色。
(2)项目配置管理员,通过手动界面上传或命令行deploy二进制制品至测试环境的制品中心,触发流水线、供开发测试预投产环境部署测试。图9是根据本发明实施例的项目配置管理员上传部署二进制制品至测试环境的制品中心的示意图。
(3)项目配置管理员配置流水线,主流水线一般流程如下:选择触发源为制品库对应项目的制品->制品扫描->多环境部署->自动化测试。
(4)当制品测试通过并满足一定质量阈值后触发子流水线,子流水线一般流程为制品晋级,制品晋级至生产制品库,供发布中心使用。
注:(3)和(4)描述的该流水线一次配置可多次使用,根据制品版本更新机制自动调用钩子函数触发主流水线。
(5)发布中心按需审批无源码类项目的制品版本及发布单,按需进行发布投产工作,如投产验证有问题可进行对应版本回滚等操作。
综上,本发明实施例的流水线,支持制品中心作为触发源,根据制品版本变更,调用钩子函数,触发流水线,该方案可以叠加传统DevOps系统中流水线触发源代码仓库的实现方式,从而真正实现流水线的多触发源,根据代码仓库的版本更新,自动触发流水线。另外,基于DevOps平台,以制品库为中心串联DevOps各模块,管理无源码类制品,以制品中心为核心,串联DevOps各模块,让无源码类制品享受DevOps体系带来的在全流程管理、自动化能力、变更管理等能力。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种基于DevOps的项目管理方法,其特征在于,包括:
根据无源码类项目创建请求创建无源码类项目;
将所述无源码类项目对应的新建的二进制制品部署到制品中心的测试制品库,所述测试制品库触发流水线;
所述流水线基于所述新建的二进制制品对所述无源码类项目进行管理。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述测试制品库检测到所述无源码类项目对应的二进制制品发生更新的情况下,所述测试制品库触发所述流水线;
所述流水线基于所述更新的二进制制品对所述无源码类项目进行管理。
3.根据权利要求1或2所述的方法,其特征在于,所述流水线包括主流水线和子流水线,所述测试制品库触发所述流水线包括:
所述测试制品库通过钩子函数触发所述主流水线。
4.根据权利要求1或2所述的方法,其特征在于,所述流水线包括主流水线和子流水线,所述流水线基于所述新建的二进制制品或所述更新的二进制制品对所述无源码类项目进行管理包括:
通过所述主流水线中安装的用于读取测试制品库中的文件的插件,读取所述测试制品库中的所述新建的二进制制品或所述更新的二进制制品;
根据所述主流水线的配置流程,基于读取的所述新建的二进制制品或所述更新的二进制制品对所述无源码类项目进行管理。
5.根据权利要求4所述的方法,其特征在于,根据所述主流水线的配置流程,基于读取的所述新建的二进制制品或所述更新的二进制制品对所述无源码类项目进行管理包括:
扫描读取的所述新建的二进制制品或所述更新的二进制制品;
对所述新建的二进制制品或所述更新的二进制制品进行环境部署验证,其中,所述环境部署验证包括以下至少之一:开发环境部署验证、测试环境部署验证、预投产环境部署验证;
对所述新建的二进制制品或所述更新的二进制制品进行测试。
6.根据权利要求5所述的方法,其特征在于,对所述新建的二进制制品或所述更新的二进制制品进行测试之后,还包括:
在满足预定条件的情况下,触发所述子流水线,其中,所述预定条件包括:对所述新建的二进制制品或所述更新的二进制制品进行测试通过;或者,对所述新建的二进制制品或所述更新的二进制制品进行测试通过且测试结果满足预定质量阈值;
根据所述子流水线的配置流程,将所述新建的二进制制品或所述更新的二进制制品晋级至所述制品中心的生产制品库。
7.根据权利要求6所述的方法,其特征在于,根据所述子流水线的配置流程,将所述新建的二进制制品或所述更新的二进制制品晋级至所述制品中心的生产制品库之后,还包括:
发布中心对所述无源码类项目以及所述生产制品库中所述无源码类项目对应的所述二进制制品进行验证;
在验证通过的情况下,对所述无源码类项目进行发布;
在验证不通过的情况下,在所述生产制品库和/或所述测试制品库中对所述二进制制品进行版本回滚。
8.根据权利要求1所述的方法,其特征在于,根据无源码类项目创建请求创建无源码类项目包括:
根据所述无源码类项目创建请求,在组织管理中心创建所述无源码类项目,并接受对所述无源码类项目的项目信息的配置。
9.根据权利要求8所述的方法,其特征在于,所述无源码类项目的项目信息包括以下至少之一:项目成员、所述项目成员的角色、流水线的配置流程。
10.一种基于DevOps的项目管理装置,其特征在于,包括:
组织管理中心,用于根据无源码类项目创建请求创建无源码类项目;
制品中心,包括测试制品库,其中,所述测试制品库用于存储所述无源码类项目对应的新建的二进制制品,并触发流水线;
所述流水线,用于基于所述新建的二进制制品对所述无源码类项目进行管理。
11.根据权利要求10所述的装置,其特征在于,
所述测试制品库还用于在检测到所述无源码类项目对应的二进制制品发生更新的情况下,触发所述流水线;
所述流水线,还用于基于所述更新的二进制制品对所述无源码类项目进行管理。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至9任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210647333.8A CN114995872A (zh) | 2022-06-09 | 2022-06-09 | 基于DevOps的项目管理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210647333.8A CN114995872A (zh) | 2022-06-09 | 2022-06-09 | 基于DevOps的项目管理方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114995872A true CN114995872A (zh) | 2022-09-02 |
Family
ID=83033426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210647333.8A Pending CN114995872A (zh) | 2022-06-09 | 2022-06-09 | 基于DevOps的项目管理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114995872A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115357231A (zh) * | 2022-10-20 | 2022-11-18 | 东方合智数据科技(广东)有限责任公司 | 基于DevOps的应用发布系统、应用发布方法及介质 |
-
2022
- 2022-06-09 CN CN202210647333.8A patent/CN114995872A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115357231A (zh) * | 2022-10-20 | 2022-11-18 | 东方合智数据科技(广东)有限责任公司 | 基于DevOps的应用发布系统、应用发布方法及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10338550B2 (en) | Multisite version and upgrade management system | |
US8434058B1 (en) | Integrated system and method for validating the functionality and performance of software applications | |
CN101411123B (zh) | 用于分布式数据处理系统端点上的集中式系统管理的方法、系统和计算机程序 | |
US7721257B2 (en) | Method for effecting software maintenance in a software system landscape and computer system | |
US7937176B2 (en) | Hybrid part installation process combining mass part installation techniques with discrete part number assembly activities | |
US7926056B2 (en) | Method for effecting a software service in a system of a software system landscape and computer system | |
US7725891B2 (en) | Method for effecting changes in a software system landscape and computer system | |
US20090012836A1 (en) | Handling Exceptional Situations in a Warehouse Management | |
CN102572896A (zh) | 一种无线通讯系统升级方法及升级装置 | |
CN112199355B (zh) | 数据迁移方法、装置、电子设备及存储介质 | |
CN115796754A (zh) | 面向it研发管理过程的软件发布管理方法、系统及平台 | |
CN114995872A (zh) | 基于DevOps的项目管理方法、装置及存储介质 | |
US7877730B2 (en) | Method for effecting a preliminary software service in a productive system of a software system landscape and computer system | |
US8151189B2 (en) | Computer-implemented systems and methods for an automated application interface | |
JPH10301799A (ja) | 試験プログラムの投入方式 | |
US9207928B2 (en) | Computer-readable medium, apparatus, and methods of automatic capability installation | |
CN108108895B (zh) | 任务状态动态管控的方法、系统、设备及存储介质 | |
CN105868957A (zh) | 一种持续集成方法及装置 | |
US11924029B2 (en) | System for scoring data center application program interfaces | |
US20230222510A1 (en) | System for Automatically Generating Customer Specific Data Center Application Program Interface Documentation | |
Pastrana-Pardo et al. | Approach to the Best Practices in Software Development Based on DevOps and SCRUM Used in Very Small Entities | |
CN112134948A (zh) | 组件发布同步方法、系统、设备及存储介质 | |
CN112416805A (zh) | 一种测试管理云平台和方法 | |
US20230221933A1 (en) | System for Automatically Generating Customer Specific Data Center Application Program Interfaces | |
US20220300368A1 (en) | System for Efficient Enterprise Dispatching |
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 |