一种提升容器环境下Maven工程编译速度的方法技术

技术编号:38145108 阅读:21 留言:0更新日期:2023-07-08 10:02
本发明专利技术实施例提供的一种提升容器环境下Maven工程编译速度的方法,首先,通过访问包含调度算法的Web程序,提交关于Gitlab仓库某条分支的编译任务;计算出该Gitlab仓库对应的执行的slave节点和对应的Mave n本地仓库,之后存储对应关系;将编译任务提交到Jenkins master;Jenk in master节点创建Jenkins job,并判断是否存在Jenkins job,若不存在所述Jenkins job,则根据slave标签,将编译任务执行的指令下发到slav e节点;所述Jenkins slave节点先从Gitlab拉取指定仓库下指定分支代码,然后从Harbor拉取用于编译的镜像;将Maven本地仓库挂载,同时将代码仓库目录。本申请提出的一种提升容器环境下Maven工程编译速度的方法,提升了Maven工程在容器环境下的编译速度和持续集成效率。译速度和持续集成效率。译速度和持续集成效率。

【技术实现步骤摘要】
一种提升容器环境下Maven工程编译速度的方法


[0001]本专利技术涉及虚拟机安全
,尤其涉及一种提升容器环境下Maven工程编译速度的方法。

技术介绍

[0002]在传统的软件开发过程中,源码编译这一重要环节都是在物理机上执行的,但是随着容器技术的成熟和普及,容器原生的优点,比如:环境统一标准化,让源码编译在容器环境下执行成为了一种更好的选择。
[0003]软件企业通常部署Jenkins+Nexus+Gitlab作为基于Maven的Java微服务的持续集成与交付工具。在编译阶段,Jenkins拉取安装了Maven和JDK的Docker镜像,并创建容器,在容器环境里执行编译,编译结束后销毁容器。在容器环境下编译代码,有安全、环境标准统一等容器带来的优点,但是因为容器用完即毁,Maven本地仓库也会随之销毁,这就导致每次编译都得重新从Nexus拉取pom中的包和插件(本专利后面统一用包指代包和插件),从而导致编译速度慢,持续集成效率低的问题。本专利解决Maven工程在容器环境下编译速度慢的问题。
专利技术内容
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种提升容器环境下Maven工程编译速度的方法,其特征在于,包括:访问包含调度算法的Web程序,提交关于Gitlab仓库某条分支的编译任务;计算出该Gitlab仓库对应的执行的slave节点和对应的Maven本地仓库,之后存储对应关系;将编译任务提交到Jenkins master;Jenkin master节点创建Jenkins job,并判断是否存在Jenkins job,若不存在所述Jenkins job,则根据slave标签,将编译任务执行的指令下发到slave节点;所述Jenkins slave节点先从Gitlab拉取指定仓库下指定分支代码,然后从Harbor拉取用于编译的镜像;将Maven本地仓库挂载,同时将代码仓库目录。2.根据权利要求1所述的一种提升容器环境下Maven工程编译速度的方法,其特征在于,所述方法还包括:在容器环境中执行Maven命令进行编译打包。3.根据权利要求2所述的一种提升容器环境下Maven工程编译速度的方法,其特征在于,所述方法还包括:在编译结束后,清理workspace,并销毁容器环境。4.根据权利要求3所述的一种提升容器环境下Maven工程编译速度的方法,其特征在于,所述Jenkin master节点创建Jenkins job,并判断是否存在Jenkins job,若不存在所述Jenkins job,则根据slave标签,将编译任务执行的指令下发到slave节点,包括:选择目前Maven本地仓库最少的slave节点,记录Gitlab仓库和slav e节点下Maven本地仓库对应关系;...

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

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

1