[发明专利]一种同步Jenkins流水线运行状态的方法、系统及装置在审
申请号: | 202211359526.X | 申请日: | 2022-11-02 |
公开(公告)号: | CN115630109A | 公开(公告)日: | 2023-01-20 |
发明(设计)人: | 颜亮;高传集;董方辉;孙乐恬;于希光 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F16/27;G06F16/23;G06F9/445 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 陈婷婷 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 同步 jenkins 流水线 运行 状态 方法 系统 装置 | ||
1.一种同步Jenkins流水线运行状态的方法,其特征在于,该方法的实现包括:通过插件接口获取Jenkins流水线运行状态并分类存储,提供分类获取流水线状态接口,前端初始化数据及定时刷新状态;
通过缓存队列执行调用Jenkins插件接口来获取流水线状态,并将运行状态和静止状态的流水线分开存储,采用键值数据库缓存运行状态数据;
所述提供分类获取流水线状态接口,包括返回全量数据的接口,返回运行状态数据的接口,修改流水线运行状态的接口;
所述前端初始化数据及定时刷新状态,包括初始化渲染页面,定时刷新运行状态变化。
2.根据权利要求1所述的一种同步Jenkins流水线运行状态的方法,其特征在于,所述通过插件接口获取Jenkins流水线运行状态并分类存储的过程包括:
1)、开启pipeline缓存,从数据库中取出正在运行中的流水线,将流水线的元数据放入pipeline缓存中;
2)、当触发执行流水线时,将流水线的元数据存储于pipeline缓存中,定时循环读取pipeline缓存获取元数据;
3)、根据元数据中pipelineid和buildNum调用Jenkins插件接口查询stage状态,此处若产生异常,则停止处理,等待下次读取到该数据继续查询;
4)、判断接口返回的流水线状态是否为运行状态;
5)、如果此时状态为运行结束状态,说明该条流水线本次运行已经结束,即接口返回的数据为本次最终运行结果,移除pipeline缓存中该元数据以防止再次查询,解析接口回值,更新mysql中节点运行状态数据和流水线运行结果数据,更新redis中运行数据并设置剩余过期时间,单次流程处理结束;
6)、如果状态为运行中,说明流水线状态还会发生变化,此时通过键值数据库存储当前状态数据,解析接口回值,将返回的运行数据刷新到redis中,单次流程处理结束。
3.根据权利要求2所述的一种同步Jenkins流水线运行状态的方法,其特征在于,所述判断接口返回的流水线状态,
运行结束状态包括:UNBUNID,ABORTED,FAILED,SUCCESS,NOT_EXECUTED;
运行状态包括:IN_PROGRESS,PAUSED_PENDING_INPUT。
4.根据权利要求2所述的一种同步Jenkins流水线运行状态的方法,其特征在于,所述更新redis中运行数据并设置剩余过期时间为10s。
5.根据权利要求1-4任一所述的一种同步Jenkins流水线运行状态的方法,其特征在于,所述提供分类获取流水线状态接口,包括:
接口pipeline-lastbuilds:获取全部数据,包括流水线的元数据和状态数据,查询mysql中的全部元数据信息和运行结束的状态数据,正在运行的流水线状态数据查询redis获取,根据结构拼接数据返回;
接口pipeline-running:获取运行时状态数据,该接口根据参数中的pipelineid从redis获取需要展示的运行数据,redis中如不存在数据,说明该流水线已运行结束并超过过期时间,从mysql中获取缺少的数据信息。
6.根据权利要求5所述的一种同步Jenkins流水线运行状态的方法,其特征在于,流水线执行过程中,发生重试或终止操作,查询pipeline元数据,根据元数据从redis中查询重试节点信息,调用Jenkins插件接口终止或重试接口,结果返回后更新mysql中的数据,同步更新redis中运行状态,返回处理结果;
由停止状态启动流水线时,需要拼接参数调用Jenkins插件接口启动流水线,并将流水线的元数据存储于pipeline缓存中,等待读取同步流水线状态信息。
7.根据权利要求6所述的一种同步Jenkins流水线运行状态的方法,其特征在于,所述接口包括相似数据计算功能的代码程序包、接口及工具插件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211359526.X/1.html,转载请声明来源钻瓜专利网。