System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于Jenkins集群的容器内编译的任务调度方法技术_技高网

基于Jenkins集群的容器内编译的任务调度方法技术

技术编号:41133208 阅读:5 留言:0更新日期:2024-04-30 18:03
本申请涉及持续集成技术领域,具体公开了一种基于Jenkins集群的容器内编译的任务调度方法、装置、计算机设备及存储介质。本申请通过用户分片算法为用户分配目标Jenkins集群,通过有缓存编译任务调度算法和无缓存编译任务调度算法确定目标执行节点,能够让Jenkins集群的用户配额以及执行节点的缓存配额资源均匀分布,保证最大化利用计算资源,有缓存编译任务调度算法能够快速通过容器内挂载的缓存目录确定目标节点,并通过资源回收算法回收资源,将这些计算资源留给更需要的用户和有缓存编译任务,提高了容器内的编译任务的编译效率以及Jenkins集群的计算资源的利用率成为了亟需解决的问题。

【技术实现步骤摘要】

本申请涉及持续集成,尤其涉及一种基于jenkins集群的容器内编译的任务调度方法、装置、计算机设备及存储介质。


技术介绍

1、在软件开发过程中,源码编译是非常重要的一个环节。jenkins作为最为知名的持续集成工具,凭借其开源的优势,形成了良好的生态环境,已经成为业界绝大多数公司的首选持续集成软件。在软件企业中,通常采用jenkins集群+源码托管服务的架构来做持续集成,并且jenkins和源码托管服务都是部署在物理机上的,即:编译环境在物理机上。在云原生时代,所涉及的devops、持续交付、微服务、容器的概念和技术都已经非常成熟了。容器内的编译环境与生俱来的环境统一和安全等优点,比难于维护和迁移的物理机编译环境更具有吸引力。容器内的编译环境,随着编译的开始,拉取相应的docker镜像,然后创建容器,在容器环境里执行编译命令,编译结束后容器立即销毁。不难发现容器内的编译环境用完即毁的特点会导致构建依赖反复下载的问题,这就大大降低了编译效率。因此如何提高容器内的编译任务的编译效率以及jenkins集群的计算资源的利用率成为了亟需解决的问题。


技术实现思路

1、本申请提供了一种基于jenkins集群的容器内编译的任务调度方法、装置、计算机设备及存储介质,以提高容器内的编译任务的编译效率以及提高jenkins集群的计算资源的利用率。

2、第一方面,本申请提供了一种基于jenkins集群的容器内编译的任务调度方法,所述方法包括:

3、在接收到用户提交的编译任务时,基于用户分片算法,确定目标jenkins集群;

4、基于所述编译任务的任务类型,在有缓存编译任务调度算法和无缓存编译任务调度算法中确定目标算法;

5、基于所述目标算法以及所述目标jenkins集群,确定目标执行节点,并基于所述目标执行节点执行所述编译任务。

6、第二方面,本申请还提供了一种基于jenkins集群的容器内编译的任务调度装置,所述装置包括:

7、目标jenkins集群确定模块,用于在接收到用户提交的编译任务时,基于用户分片算法,确定目标jenkins集群;

8、目标算法确定模块,用于基于所述编译任务的任务类型,在有缓存编译任务调度算法和无缓存编译任务调度算法中确定目标算法;

9、编译任务执行模块,用于基于所述目标算法以及所述目标jenkins集群,确定目标执行节点,并基于所述目标执行节点执行所述编译任务。

10、本申请公开了一种基于jenkins集群的容器内编译的任务调度方法、装置、计算机设备及存储介质,在接收到用户提交的编译任务时,基于用户分片算法,确定目标jenkins集群;基于所述编译任务的任务类型,在有缓存编译任务调度算法和无缓存编译任务调度算法中确定目标算法;基于所述目标算法以及所述目标jenkins集群,确定目标执行节点,并基于所述目标执行节点执行所述编译任务。本申请通过用户分片算法为用户分配目标jenkins集群,通过有缓存编译任务调度算法和无缓存编译任务调度算法确定目标执行节点,能够让jenkins集群的用户配额以及执行节点的缓存配额资源均匀分布,保证最大化利用计算资源,有缓存编译任务调度算法能够快速通过容器内挂载的缓存目录确定目标节点,进而提高了容器内的编译任务的编译效率以及jenkins集群的计算资源的利用率成为了亟需解决的问题。

本文档来自技高网...

【技术保护点】

1.一种基于Jenkins集群的容器内编译的任务调度方法,其特征在于,包括:

2.根据权利要求1所述的基于Jenkins集群的容器内编译的任务调度方法,其特征在于,所述基于用户分片算法,确定目标Jenkins集群,包括:

3.根据权利要求2所述的基于Jenkins集群的容器内编译的任务调度方法,其特征在于,所述获取所述待确定Jenkins集群中的现有用户数量之后,还包括:

4.根据权利要求1所述的基于Jenkins集群的容器内编译的任务调度方法,其特征在于,所述基于所述编译任务的任务类型,在有缓存编译任务调度算法和无缓存编译任务调度算法中确定目标算法,包括:

5.根据权利要求1所述的基于Jenkins集群的容器内编译的任务调度方法,其特征在于,所述基于所述目标算法以及所述目标Jenkins集群,确定目标执行节点,包括:

6.根据权利要求5所述的基于Jenkins集群的容器内编译的任务调度方法,其特征在于,所述在所述目标算法为所述有缓存编译任务调度算法时,基于历史任务记录,获取所述编译任务的提交次数之后,还包括:

<p>7.根据权利要求1所述的基于Jenkins集群的容器内编译的任务调度方法,其特征在于,所述基于所述目标算法以及所述目标Jenkins集群,确定目标执行节点,包括:

8.根据权利要求1至7任一项所述的基于Jenkins集群的容器内编译的任务调度方法,其特征在于,所述基于所述目标执行节点执行所述编译任务之后,还包括:

9.一种基于Jenkins集群的容器内编译的任务调度装置,其特征在于,包括:

...

【技术特征摘要】

1.一种基于jenkins集群的容器内编译的任务调度方法,其特征在于,包括:

2.根据权利要求1所述的基于jenkins集群的容器内编译的任务调度方法,其特征在于,所述基于用户分片算法,确定目标jenkins集群,包括:

3.根据权利要求2所述的基于jenkins集群的容器内编译的任务调度方法,其特征在于,所述获取所述待确定jenkins集群中的现有用户数量之后,还包括:

4.根据权利要求1所述的基于jenkins集群的容器内编译的任务调度方法,其特征在于,所述基于所述编译任务的任务类型,在有缓存编译任务调度算法和无缓存编译任务调度算法中确定目标算法,包括:

5.根据权利要求1所述的基于jenkins集群的容器内编译的任务调度方法,其特征在于,所述基于...

【专利技术属性】
技术研发人员:杨睿
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1