[发明专利]一种模块化构建工具MBS的管理系统及装置有效
申请号: | 202110601538.8 | 申请日: | 2021-05-31 |
公开(公告)号: | CN113382049B | 公开(公告)日: | 2022-04-19 |
发明(设计)人: | 宋凯 | 申请(专利权)人: | 山东英信计算机技术有限公司 |
主分类号: | H04L67/025 | 分类号: | H04L67/025;H04L67/125;G06F8/41 |
代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 黄晓燕 |
地址: | 250001 山东省济南市高新区*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 模块化 构建 工具 mbs 管理 系统 装置 | ||
本申请提供的模块化构建工具MBS的管理方法包括:MBS监控线程实时采集MBS中所有模块的构建模块信息、解析所述构建模块信息,并发送至客户端命令行显示;通过MBS监控线程检查解析构建模块信息,判断是否有失败模块,如果存在失败模块则将失败模块添加到失败模块队列中;检查失败模块队列中是否存在失败模块,如果存在则唤醒失败处理线程,所述失败处理线程从失败模块队列获取失败模块,循环调用编译进程重新编译所述失败模块,直至编译失败次数达到设定循环次数阈值或者直至构建成功。本申请提供了MBS实时监控功能、查询模块功能以及编译失败模块自动处理功能,用户可以实时或者有目的性的查看MBS状态。另外本申请可远程管理MBS。
技术领域
本申请涉及MBS管理领域,尤其涉及一种模块化构建工具MBS的管理系统及装置。
背景技术
早期的linux发行版中,每一个发行版本只支持某个软件的一个特定版本。对于某些用户来说,如果系统版本发布太快,搭载了最新的软件版本,就可能导致应用程序兼容性脱节。用户若想要使用特定版本的软件,必须自己构建软件包。随着操作系统的发展,出现了模块化的概念,可以将软件包进行模块化,使得软件包构建者可以轻松构建软件的替代版本,并让用户可以更简单地安装使用这些软件流。Module Build Service(MBS)工具即是为模块化构建而生,它提供了一系列模块构建的接口,校验定义模块的modulemd文件,并为koji编译系统准备编译环境并向koji提交编译任务以完成模块编译任务。
在日常开发过程中我们对MBS工具的使用主要涉及两个方面:MBS的构建任务控制和构建模块过程中对构建状态的监控。
MBS的构建任务控制可以使用MBS安装包自身提供mbs-manager命令和MBS安装过程中的依赖包fedpkg工具来实现。其中通过mbs-manager的mbs-manager import_module实现向MBS数据库中插入virtaul module;fedpkg工具提供控制MBS构建任务的功能,如fedpkg module-build可以向MBS提交一个模块构建任务,fedpkg module-build-cancel为取消一个模块构建。但在开发环境中这套工具有如下缺陷:一,fedpkg工具通常会作为依赖包和MBS安装在同一个服务节点,因此无法远程控制MBS构建任务;二,fedpkg工具和mbs-manager命令分别实现不同的功能,没有统一的命令来实现对MBS构建任务的控制,给开发人员带来不便;三,完全依赖第三方工具和命令,维护较为困难,同时面临着某一天第三方工具废弃的风险。
当前MBS模块构建过程监控的实现方式依赖于fedpkg工具,依赖于fedpkg工具有以下缺点:一,fedpkg工具只能输出模块相关的静态信息,无法动态更新,使模块构建者得到实时模块构建状态;二,fedpkg工具无法根据开发过程中的需求来定制化输出信息;三,当检测到MBS中的一个构建模块失败时,fedpkg工具无法进行重复提交编译。
综上所述,目前MBS的使用存在诸多缺陷,针对这些问题提供一种系统性的解决方案。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,一方面本申请提供了一种模块化构建工具MBS的管理方法,包括:
MBS监控线程通过http服务器实时从MBS节点采集MBS中所有模块的构建模块信息;
通过MBS监控线程解析所述构建模块信息,并发送至客户端命令行显示;
通过MBS监控线程检查解析构建模块信息,判断是否有失败模块,如果存在失败模块则将失败模块添加到失败模块队列中;
检查失败模块队列中是否存在失败模块,如果存在则唤醒失败处理线程,所述失败处理线程获取失败模块,循环调用编译进程重新编译所述失败模块,直至编译失败次数达到设定循环次数阈值或者直至编译成功,如果达到设定循环次数阈值,则所述失败处理线程将失败模块移除失败模块队列、记录失败日志、且通过客户端命令行显示模块失败。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东英信计算机技术有限公司,未经山东英信计算机技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110601538.8/2.html,转载请声明来源钻瓜专利网。