一种基于DevOps平台的控制系统的制作方法

文档序号:33472643发布日期:2023-03-15 09:00阅读:67来源:国知局
一种基于DevOps平台的控制系统的制作方法
一种基于devops平台的控制系统
技术领域
1.本发明涉及数据信息控制领域,尤其涉及一种基于devops平台的控制系统。


背景技术:

2.devops平台(development和operations的组合词)为软件产品组合而成的研发解决方案,一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(qa)部门之间的沟通、协作与整合。
3.目前的devops平台中软件数据集成和数据信息流通效果较差,由于devops平台为各个不同的软件组合而成的解决方案,数据整合效率低,导致使用效率较低。


技术实现要素:

4.本发明提供了一种基于devops平台的控制系统,以解决现有的devops平台数据整合效率低的问题。
5.根据本发明的一方面,提供了一种一种基于devops平台的控制系统,其特征在于,包括:需求获取模块、任务创建模块、代码管理模块、应用部署模块;
6.所述需求获取模块,用于获取待开发项目的项目需求信息,将所述项目需求信息发送给所述任务创建模块;
7.所述任务创建模块,用于根据所述项目需求信息创建至少一个待执行任务,将所述待执行任务下发至对应的执行终端,并接收所述执行终端发回的任务结果;其中,所述待执行任务包括编译任务和测试任务的一项或多项,所述任务结果包括编译代码和测试结果的一项或多项;
8.所述代码管理模块,用于对所述待开发项目对应的编译代码进行管理;
9.所述应用部署模块,用于生成所述待开发项目的应用发布任务,将待开发项目对应的编译代码,以应用的方式在对应的服务集群中发布。
10.可选的,所述需求获取模块具体用于:
11.接收任务触发指令,解析所述任务触发指令中的项目需求信息,其中,所述任务触发指令中携带有待开发项目的项目需求信息;或者,
12.获取所述待开发项目的项目信息,基于所述项目信息生成所述待开发项目的项目需求信息,其中,所述项目信息中包括多个开发节点,各开发节点分别对应项目需求信息,各开发节点的项目需求信息根据预设周期获取,或者根据开发节点的触发条件获取。
13.可选的,所述任务创建模块具体用于:
14.对接收的项目需求信息进行信息拆分,得到多个任务信息,并基于各所述任务信息分别创建对应的待执行任务;其中,所述任务信息中包括任务内容、任务节点、任务时间、交付指标。
15.可选的,所述代码管理模块具体用于:创建所述待开发项目的代码仓库,基于所述代码仓库对所述待开发项目的编译代码进行管理,其中,所述代码仓库中包括所述待开发
项目对应的不同版本的编译代码,各所述编译代码与对应的版本信息关联存储;
16.以及,响应对所述编译代码的代码分支的上传操作、下载操作和更新操作的一项或多项。
17.可选的,所述任务创建模块还用于执行如下的一项或多项:
18.查看待执行任务的执行结果;
19.更新待执行任务中的配置参数;
20.构建待开发项目对应的参数、报表、问题清单的一项或多项;
21.构建所述待执行任务的创建过程与执行过程中的日志;
22.查询所述待执行任务对应的实体;
23.对所述编译任务对应的编译代码设置版本信息。
24.可选的,所述应用部署模块具体用于:通过模板文件创建所述待开发项目的应用发布任务,并通过集群接入子模块接入所述devops平台对应的服务集群,通过集群接入子模块将编译代码以应用的形式在所述服务集群中进行发布。
25.可选的,所述控制系统还包括代码检测模块,用于根据预设的规则集对所述待开发项目对应的编译代码就进行检测,得到代码检测结果,并将所述代码检测结果发送至检测终端。
26.可选的,所述控制系统还包括实体管理模块,用于获取系统关联的实体信息与实体关系,其中,所述实体信息包括组织信息、人员信息和角色信息;所述实体关系包括组织关联关系和人员角色关联;
27.所述任务创建模块与所述实体管理模块连接,用于从所述实体管理模块中提取待执行任务对应的实体信息。
28.可选的,所述控制系统还包括数据库模块,用于与所述需求获取模块、所述任务创建模块、所述代码管理模块、所述应用部署模块分别连接,分别获取所述需求获取模块、所述任务创建模块、所述代码管理模块、所述应用部署模块的数据信息进行存储,并提供数据查询和调用服务。
29.可选的,所述数据库模块包括mysql数据库和redis数据库。
30.本发明的控制系统对devops平台的开发项目进行集成化管理,实现需求获取到发布的全生命周期数据集成管理,解决了现有devops平台数据整合效率低的问题,提高了数据整合效率,从而提高数据的使用效率。
31.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
32.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1是本发明实施例提供的一种基于devops平台的控制系统的结构示意图。
具体实施方式
34.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
35.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
36.图1是本发明实施例提供的一种基于devops平台的控制系统的结构示意图,本实施例可适用于对devops平台上流转的数据信息进行控制的情况,该系统可以建立在基于devops平台或与devops平台关联的系统,devops平台是各种软件产品组合而成的一套解决方案,该解决方案可以包括解决方案包含的产品主要有gitlab(代码仓库),sonarqube(代码质量分析),nexusoss(工件仓库),maven(编译构建),harbor(docker镜像仓库),selenium(自动化测试),jenkins(devops流水线),jmeter(性能测试)和redmine(研发协同)等,各个软件独立运行。如图1所示,该系统包括:需求获取模块110、任务创建模块120、代码管理模块130、应用部署模块140;
37.需求获取模块110,用于获取待开发项目的项目需求信息,将所述项目需求信息发送给任务创建模块120。
38.其中,项目需求信息是指待开发项目在开发过程中的需求信息,具体的,项目需求信息可以是项目指标,也可以是标准化需求文档,这里不做限定。
39.在上述实施例的基础上,可选的,需求获取模块110具体用于:接收任务触发指令,解析所述任务触发指令中的项目需求信息,其中,所述任务触发指令中携带有待开发项目的项目需求信息;或者,获取所述待开发项目的项目信息,基于所述项目信息生成所述待开发项目的项目需求信息,其中,所述项目信息中包括多个开发节点,各开发节点分别对应项目需求信息,各开发节点的项目需求信息根据预设周期获取,或者根据开发节点的触发条件获取。
40.其中,任务触发指令是根据待开发项目的需求生成的任务触发指令,具体的,任务触发指令携带有待开发项目的项目需求信息。本实施例中,在待开发项目开发过程中,需求获取模块110接收任务触发指令,并对任务触发指令进行解析,得到任务触发指令中的项目需求信息;进而将项目需求信息发送至任务创建模块120。
41.其中,项目信息是指待开发项目的项目信息。具体的,项目信息包括待开发项目的多个开发节点,各开发节点分别对应待开发项目在该开发节点的项目需求信息。本实施例中,需求获取模块110获取待开发项目的项目信息,可以根据预设开发周期与项目信息确定预设开发周期对应的开发节点,获取对应开发节点的项目需求信息;也可以是在待开发项
目的当前开发状态满足开发节点的触发条件的情况下,获取所述开发节点的项目需求信息;进而将项目需求信息发送至任务创建模块120。
42.在一些实施例中,需求获取模块110还可以执行待开发项目的项目管理任务,项目管理任务包括但不限于各个项目的项目版本、项目迭代、项目成员、人员角色等实体逻辑。通过对devops平台中的各个项目进行集成化管理,使得devops平台的各个软件产品中执行的项目和项目流程可以进行整合和集成,避免各个软件产品的不一致导致的数据分散。
43.任务创建模块120,用于根据所述项目需求信息创建至少一个待执行任务,将所述待执行任务下发至对应的执行终端,并接收所述执行终端发回的任务结果;其中,所述待执行任务包括编译任务和测试任务的一项或多项,所述任务结果包括编译代码和测试结果的一项或多项。
44.其中,待执行任务是指待开发项目的项目需求信息对应的任务,用于实现待开发项目的需求;具体的,待执行任务包括编译任务和测试任务,相应的,执行终端包括编译终端和测试终端,任务结果包括编译代码和测试结果。本实施例中,任务创建模块120接收需求获取模块110发送的项目需求信息,根据项目需求信息创建至少一个待执行任务,将待执行任务下发至对应的执行终端,以使该执行终端执行待执行任务得到任务结果,并将执行结果发送至任务创建模块120;任务创建模块120接收执行终端发回的任务结果。
45.在上述实施例的基础上,可选的,任务创建模块120具体用于:对接收的项目需求信息进行信息拆分,得到多个任务信息,并基于各所述任务信息分别创建对应的待执行任务;其中,所述任务信息中包括任务内容、任务节点、任务时间、交付指标。
46.其中,任务信息是指实现项目需求的具体任务信息,具体的,任务信息包括但不限于任务内容、任务节点、交付指标等,这里不做限定。本实施例中,在接收项目需求之后,任务创建模块120对接收的项目需求信息进行信息拆分,得到多个任务信息,并根据各任务信息分别创建对应的待执行任务;将待执行任务下发至对应的执行终端,并接收执行终端发回的任务结果。
47.在上述实施例的基础上,可选的,任务创建模块120还用于执行如下的一项或多项:查看待执行任务的执行结果;更新待执行任务中的配置参数;构建待开发项目对应的参数、报表、问题清单的一项或多项;构建所述待执行任务的创建过程与执行过程中的日志;查询所述待执行任务对应的实体;对所述编译任务对应的编译代码设置版本信息。
48.具体的,任务创建模块120还包括发布管理子模块,用于提供与待开发项目对应的全部或部分编译任务的发布管理,其中,发布管理包括但不限于构建待执行任务、执行待执行任务、查看待执行任务的执行结果、更新待执行任务中的配置参数以及构建待开发项目对应的参数、报表、问题清单等,这里不做限定。
49.任务创建模块120还包括构建历史子模块,用于对待开发项目的构建版本管理,其中,构建版本管理包括但不限于构建待执行任务的创建过程与执行过程中的日志、查询待执行任务对应的实体、对编译任务对应的编译代码设置版本信息。
50.代码管理模块130,用于对所述待开发项目对应的编译代码进行管理。
51.本实施例中,代码管理模块130与任务创建模块120连接,用于对任务创建模块120接收的编译代码进行管理。
52.在上述实施例的基础上,可选的,代码管理模块130具体用于:创建所述待开发项
目的代码仓库,基于所述代码仓库对所述待开发项目的编译代码进行管理,其中,所述代码仓库中包括所述待开发项目对应的不同版本的编译代码,各所述编译代码与对应的版本信息关联存储;以及,响应对所述编译代码的代码分支的上传操作、下载操作和更新操作的一项或多项。
53.其中,代码仓库用于存储待开发项目开发过程中的编译代码,具体的,代码仓库包括待开发项目对应的不同版本的编译代码,各编译代码与对应的版本信息关联存储,可以对待开发项目的编译代码进行版本管理。本实施例中,创建待开发项目的代码仓库,响应于对编译代码的代码分支的上传操作,将编译代码的代码分支上传至代码仓库;响应于对编译代码的代码分支的下载操作,下载代码仓库中编译代码的代码分支;响应于对编译代码的代码分支的更新操作,对代码仓库中编译代码的代码分支进行更新,从而对待开发项目的编译代码进行管理。本实施例通过创建代码仓库实现对待开发项目的编译代码的统一管理。
54.在一些实施例中,代码管理模块中可以包括代码仓库、代码分支、仓库版本、差异实体、分支保护策略等,用于存储和管理具体的各个项目的代码。
55.应用部署模块140,用于生成所述待开发项目的应用发布任务,将待开发项目对应的编译代码,以应用的方式在对应的服务集群中发布。
56.其中,应用发布任务用于以应用的方式发布待开发项目对应的编译代码。本事实例中,应用部署模块140与任务创建模块120连接,接收待开发项目对应的编译代码,并生成待开发项目的应用发布任务,基于待开发项目的应用发布任务将待开发项目对应的编译代码发送至对应的服务集群中;服务集群接收待开发项目对应的编译代码,对待开发项目对应的编译代码进行编译,并以应用的方式进行发布。
57.在上述实施例的基础上,可选的,应用部署模块140具体用于:通过模板文件创建所述待开发项目的应用发布任务,并通过集群接入子模块接入所述devops平台对应的服务集群,通过集群接入子模块将编译代码以应用的形式在所述服务集群中进行发布。
58.其中,模板文件用于创建应用发布任务,具体的,应用部署模块140可以对模板文件进行新建、查询、编辑、删除等管理操作。本实施例中,应用部署模块140通过集群接入子模块接入devops平台对应的服务集群,应用部署模块140基于模板文件创建待开发项目的应用发布任务,通过集群接入子模块将编译代码以应用的形式在服务集群中进行发布。本实施例通过模板文件的方式创建应用发布任务,提高了应用的发布效率。
59.在一些实施例中,应用部署模块140可以包括自动化部署配置、扩缩容策略、集群管理、集群应用配置等,这里不做限定。
60.在上述实施例的基础上,可选的,所述控制系统还包括代码检测模块,用于根据预设的规则集对所述待开发项目对应的编译代码就进行检测,得到代码检测结果,并将所述代码检测结果发送至检测终端。
61.其中,预设的规则集用于提供代码检测的静态扫描功能,具体的,可以自定义规则集,各规则集包括多条规则。本实施例中,代码检测模块可以拉取代码仓库中的代码分支设置代码检测任务,并执行代码检测任务得到代码检测结果,并将代码检测结果反馈至检测终端;可选的,代码检测模块也可以重新设置和/或修改代码检测任务,再次执行并得到新的代码检测结果。
62.在上述实施例的基础上,可选的,所述控制系统还包括实体管理模块,用于获取系统关联的实体信息与实体关系,其中,所述实体信息包括组织信息、人员信息和角色信息;所述实体关系包括组织关联关系和人员角色关联;任务创建模块120与所述实体管理模块连接,用于从所述实体管理模块中调用待执行任务对应的实体信息和实体关系。
63.本实施例中,任务创建模块120与实体管理模块连接,当待执行任务时,任务创建模块120从实体管理模块中调用待执行任务对应的实体信息和实体关系。
64.在一些实施例中,当系统配置项目时,可以调用配置项目对应的实体信息和实体关系。
65.在上述实施例的基础上,可选的,所述控制系统还包括数据库模块,用于与所述需求获取模块、所述任务创建模块、所述代码管理模块、所述应用部署模块分别连接,分别获取所述需求获取模块、所述任务创建模块、所述代码管理模块、所述应用部署模块的数据信息进行存储,并提供数据查询和调用服务。
66.本实施例中,通过对devops平台的待开发项目进行集成化管理,实现需求获取到发布的全生命周期集成管理,同时,通过应用部署模块将开发项目对应的应用发布至服务集群,拓展devops平台的能力,提高应用发布的效率和迭代效率。
67.在上述实施例的基础上,可选的,所述数据库模块包括mysql数据库和redis数据库。
68.其中,mysql数据库是一种开放源代码的关系型数据库管理系统(rdbms),使用结构化查询语言(sql)进行数据库管理,用于存储关系型数据。本实施例中,mysql数据库可以选择innodb作为默认的mysql存储引擎,以提高系统的可靠性,满足系统并发需求。
69.其中,redis(remote dictionary server),即远程字典服务,用于处理非关系型热点数据。redis数据库支持主从同步,redis数据库的存储包括存储分为内存存储、磁盘存储和log文件。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。
70.本发明的控制系统对devops平台的待开发项目进行集成化管理,实现需求获取到发布的全生命周期数据集成管理,解决了现有devops平台数据整合效率低的问题,提高了数据整合效率,从而提高数据的使用效率。
71.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
72.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1