Jenkins In OpenShift4 通过共享卷加速 CI/CD

(点击了解详情)第三期 | DevOps工程工具链实践训练营报名通道

Avoris Travel 是一家寻求重塑旅游业的独特旅游公司,它依赖于由 Jenkins 推动的同样具有创造性的技术平台。

由于 200 多名开发人员依赖于公司的基础架构,他们需要一个安全、易于定制且功能强大的 CI/CD 平台。

Avoris Travel 的技术团队试图最大限度地缩短交付周期。利用 Jenkins 的大量可用插件,该团队能够加速他们的 CI/CD,并将构建时间减少 50% 以上。

 

组织机构

Avoris Travel | www.avoristravel.com  旅游行业

编程语言

Java、Node.js、PHP、Python、Go

平台

Docker、Kubernetes、Buildah

版本控制系统

Bitbucket Server  

构建工具

Ant、Maven、npm、PHP Composer

背景

Avoris Travel 是一家独特的旅游运营商,服务于西班牙和葡萄牙,业务遍及 15 个拉丁美洲国家及其他地区。该公司的核心是数字化转型,因此当他们的构建时间性能下降时,团队知道需要改进也就不足为奇了。

对于 Kubernetes slaves,我们看到在每个 Jenkins 构建中,依赖项被下载到一个 .m2 目录,该目录随后在构建后被删除。然后,在生成要在不同环境中交付的最终镜像时,发现了一个类似的问题:每个构建共有的镜像层也被下载并随后被删除。

目标: 最小化交付周期时间。

解决方案和结果

为了解决 maven 依赖项的连续重复下载,我们决定使用 Kubernetes 插件提供的挂载卷,将代理的目录(/var/jenkins_home/.m2)映射到 Kubernetes 节点上的共享目录( /mnt/home-jenkins-m2)。这允许所有构建共享相同的 .m2。

为了保证安全性和并发性,我们安装了 Takari 插件(Concurrent Safe Local Repository)。为了解决镜像和基础层的重复下载,我们选择使用主机路径卷,就像我们使用 maven 依赖一样,将代理的目录 (/var/run/containers/storage) 映射到 /mnt/var-run-containers -存储节点目录。由于使用了覆盖存储驱动程序,我们能够做到这一切。镜像的创建是通过 Buildah 完成的,而上传到集群是通过 Skopeo 完成的。

我们所有的构建都是在 Kubernetes 代理节点上执行的。Jenkins 是我们自己的基于 Jenkins 官方压缩文件 (LTS) 的 Docker 镜像。我们添加了其他包,例如 Takari 插件、jcasc 配置和 Openshift CLI 来执行一些集群操作。我们的工作结构基于 Bitbucket 多分支管道,它们都共享一个 Jenkins 共享库。这些托管在 git 存储库中,而该存储库又包含管道的所有阶段。现在,任何修改都适用于所有开发。我们使用基于技术和其他参数的参数化 Jenkinsfiles 来配置构建。例如(jenkinsfile): 

我们的项目之所以成功,是因为有大量可用的 Jenkins 插件、Jenkinsfiles 使用 Groovy 的可扩展性以及许多集成可能性。此外,我们依赖于一个庞大且乐于助人的 Jenkins 社区以及所有可用的 Jenkins 资源。

我们最大限度地缩短交付周期的目标超出了我们的预期:

  • 对于小型应用程序,我们将平均构建时间从 45 秒减少到仅 8 秒

  • 对于较大的遗留应用程序,超过 10-15 分钟的构建时间减少了 7-8 分钟

  • 根据基本图像的大小,我们将最终图像生成时间减少了 10-30 秒

流程改进是 Avoris 运营团队的首要任务。其中使用 Jenkins 产生了很大的不同。他们意识到他们的构建时间正在缩短,因此他们试图通过 Jenkins 最大限度地缩短交付周期。结果?该团队能够通过共享卷等来加速他们的 CI/CD。他们能够将构建时间减少 50% 以上。

技术团队还努力监控性能:“在对我们的 Jenkins Pipelines CI/CD 进行重大改进后,我们对构建时间进行了比较,”Alejandro 指出。“通过在从 Docker 迁移到 Buildah 后使用 openshift 4 计算节点和共享容器存储,已经实现了显着减少的构建时间。”

关于我们

泽阳,DevOps领域实践者。专注于企业级DevOps运维开发技术实践分享,主要以新Linux运维技术、DevOps技术课程为主。丰富的一线实战经验,课程追求实用性获得多数学员认可。课程内容均来源于企业应用,在这里既学习技术又能获取热门技能,欢迎您的到来!

(点击了解详情)第三期 | DevOps工程工具链实践训练营报名通道

辛苦 帮转发,点个再看吧,前进的动力...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值