[发明专利]一种用于处理流水线作业的方法、装置及计算机设备有效
申请号: | 202011196162.9 | 申请日: | 2020-10-31 |
公开(公告)号: | CN112286580B | 公开(公告)日: | 2023-08-04 |
发明(设计)人: | 池小波;廖殷 | 申请(专利权)人: | 成都新潮传媒集团有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 成都顶峰专利事务所(普通合伙) 51224 | 代理人: | 杨国瑞 |
地址: | 610000 四川省成都市高新*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 处理 流水线 作业 方法 装置 计算机 设备 | ||
本发明涉及软件开发技术领域,公开了一种用于处理流水线作业的方法、装置及计算机设备,可在收到携带有项目标识和统一流水线作业地址的流水线作业触发请求后,先判断是否存在与所述项目标识对应的子工作空间,然后在判定存在时,等待至所述子工作空间被清除,才根据所述项目标识创建一个新子工作空间来触发与所述统一流水线作业地址对应的统一流水线作业任务Job构建并处理基于新提交项目代码的流水线作业实例,由此可避免存在因相同触发而影响同一项目流水线作业过程的风险,保证每次流水线作业都能正常处理完成。此外,还可最大可能地复用流水线作业过程,并采用最小的代价来避免相同触发的流水线作业被处理,以及可大大降低计算资源开销。
技术领域
本发明属于软件开发技术领域,具体地涉及一种用于处理流水线作业的方法、装置及计算机设备。
背景技术
在软件开发过程中,从项目代码(即软件项目的源程序代码)提交到Gitlab(由GitLab公司开发的且基于Git的完全集成的软件开发平台)平台服务器到主动触发Jenkins(一款由Java编写的开源的持续集成工具)服务器依次处理从代码打包、服务部署、自动化测试、代码合并到分支发布推送通知的整个过程,需要有一套完整的机制能够确保过程的流水线作业和无人值守。目前对应每个项目都有独立的一套流水线作业任务Job(任务Job是Jenkins的一个执行计划,是一系列操作的集合),但是存在如下不足:(1)很多项目的流水线作业过程大体相似,一旦有新的项目创建,就需要重复建设对应的流水线作业任务Job;(2)如果提交项目代码后触发的流水线作业地址不一致,需要每次建设流水线作业任务Job后单独配置流水线作业地址;(3)如果流水线作业过程的本体结构发生变更,需要引入新的过程节点,那么所有项目的流水线作业任务Job都需要一一修改。
考虑在多个项目的流水线作业过程中,除了提交项目代码的人、提交项目代码的仓库地址、部署的服务名称、自动化测试的目录和标签不同,以及一些过程执行必要性不同外,整个流水线作业可以通过配置化的方式,完成所有项目的共用,因此提出了基于统一流水线作业任务Job处理相近项目的流水线作业过程,并为了提高流水线作业效率,会并行处理所有提交代码所触发过来的流水线作业实例。但是在并行处理过程中,可能存在因相同触发而影响同一项目流水线作业过程的风险,例如对于同一个项目,软件项目开发者A和B分别在短时间内向代码仓库提交了新的项目代码,如果基于在先提交项目代码的流水线作业实例正在执行自动化测试,而基于在后提交项目代码的流水线作业实例正在执行服务部署,将可能导致执行自动化测试的流水线作业实例出现异常。
发明内容
为了解决现有在流水线作业并行处理过程中可能存在因相同触发而影响同一项目流水线作业过程的风险问题,本发明目的在于提供一种用于处理流水线作业的方法、装置、计算机设备、计算机可读存储介质及交互系统。
第一方面,本发明提供了一种用于处理流水线作业的方法,包括:
接收来自代码仓库管理平台的且携带有项目标识和统一流水线作业地址的流水线作业触发请求,其中,所述流水线作业触发请求用于触发与所述统一流水线作业地址对应的统一流水线作业任务Job构建并处理基于新提交项目代码的流水线作业实例,所述统一流水线作业Job为可针对多个不同项目标识并发构建且处理对应流水线作业实例的任务Job,所述新提交项目代码是指向所述代码仓库管理平台提交的且与所述项目标识对应的代码;
响应所述流水线作业触发请求,判断在所述统一流水线作业Job的预设工作空间中是否存在与所述项目标识对应的子工作空间,其中,所述子工作空间为所述预设工作空间中已创建的部分工作空间,用于处理在该子工作空间中构建的流水线作业实例;
若存在,则在所述子工作空间被清除时,根据所述项目标识创建一个新子工作空间,以在所述新子工作空间中构建并处理基于所述新提交项目代码的流水线作业实例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都新潮传媒集团有限公司,未经成都新潮传媒集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011196162.9/2.html,转载请声明来源钻瓜专利网。