前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Buildkite扩展了其规模化持续交付平台

Buildkite扩展了其规模化持续交付平台

作者头像
云云众生s
发布2024-10-11 09:31:01
1240
发布2024-10-11 09:31:01
举报
文章被收录于专栏:云云众生s

Buildkite,深受高流量、横向扩展的企业对消费者巨头的青睐,已将其同名 CI/CD 服务扩展为一个完整的平台。

译自 Buildkite Expands Scale-Out Continuous Delivery Platform,作者 Joab Jackson。

Buildkite Pty Ltd 扩展了其同名注重并发性的 持续集成和交付软件,使其成为一个完整的平台,增加了测试引擎、包注册服务和移动交付云。

该软件于十年前由 Buildkite 首席执行官 Keith Pitt 推出,旨在并发运行,允许用户运行比传统构建流水线多一百倍的代理。

因此,该软件在许多规模化公司中得到应用,包括 Airbnb、Canva、Lyft、PagerDuty、Pinterest、PlanetScale、Shopify、Slack、Tinder、Twilio、Uber 和 Wayfair 等。

在 TNS 上,我们记录了 Equinix 如何使用 Buildkite 来更新其裸机云上支持的众多操作系统。

Pitt 在担任开发人员时创建了该软件,当时他与 Herokugit 代码库 合作。

“Heroku 是一个神奇的平台。Heroku 做了一些其他平台没有做的事情,而且他们关心开发人员体验,”Kitt 说。他工作的公司强制使用 Jenkins,当时它很难使用,尤其是在远程访问资产时。

“我需要一种不同的方法来完成我的工作,”他说。

据该公司称,总体而言,使用该软件构建的软件每天被超过十亿人使用。

Uber 工程经理 Shesh Patel 在一份声明中表示,这家网约车巨头通过切换到 Buildkite 将其构建时间缩短了一半。“采用交付优先的思维方式对于我们发展至关重要,”他断言。

Buildkite 与其他 CI/CD 系统的区别

Kitt 声称,Buildkite 在两个主要方面不同于其他 CI/CD 软件和服务提供商。一个是它被构建为并发运行,支持同时运行多个作业。另一个是它不按构建分钟数或并发作业数收费,这是 CI/CD 领域中两种广泛使用的计费方法。

相反,Buildkite 提供 按席位计费的无限使用定价模式

IDC 软件开发 DevOps 和 DevSecOps 项目副总裁 Jim Mercer 在一份声明中指出,在许多情况下,组织都与“传统 DevOps 工具”绑定在一起,这些工具将它们束缚在缓慢的构建周期中。

为了说明为什么加速持续集成对于规模化公司如此重要,Kitt 提供了一个例子:像 Uber 这样的公司可能拥有 5000 名开发人员。在工作日开始时,大多数开发人员或多或少会同时开始进行代码提交。由于 Uber 复杂的代码库拥有 5000 万行代码或更多,每次更改可能会触发多达 50000 次单独测试。将此乘以 5000 次更改,构建系统可能同时管理数亿个事件。

“你不能一个接一个地运行测试。否则,它将需要数周、数月、数年,甚至在某些情况下,需要数年才能按顺序运行测试,”Kitt 补充道。“所以你必须瘫痪,你必须并发运行它们。”

该软件 以开源形式提供,可以轻松复制以运行所需的构建工作流。

开发人员定义了一组代码在投入生产之前应该经历的步骤,或 流水线,这可能包括单元测试和集成测试,以及其他检查。每个步骤都由构建运行器代理处理,这些代理是用 Go 编程语言编写的,因此可以在不同的平台上运行。每个代理通过 HTTPS 轮询 Buildkite 的代理 API。输出 存储并重复使用 作为工件。

Kitt 指出,该领域中另一个阻碍持续集成扩展能力的问题是客户的计费方式。

“这个领域中的许多其他参与者都没有动力让你更快,因为他们的主要收入来源是计算,”Kitt 说。“他们转售电力,所以他们没有动力让你更快。”

作为替代方案,Buildkite 按活跃用户收费,这使该公司能够通过并发性将工作流时间尽可能地缩短到接近零。

Buildkite 采用混合架构,这意味着它使用客户的计算能力,而公司则在其自己的云控制平面(Kitt 将这种方法称为 自带云 [BYOC])上运行操作。Buildkite 本身无法访问代码(这对许多组织来说是一个真正的安全优势)。

Buildkite 如何扩展

对于新版本,Buildkite 扩展了其 BYOC 格式以包含包注册表,提供具有快速索引和增强安全功能的高性能资产管理服务。客户提供存储,Buildkite 提供管理。

该公司还加强了自己的云环境,以代表客户运行移动应用程序,该环境(与其他 Buildkite 产品不同)基于按使用付费。Kitt 表示,对于不想管理移动应用程序交付复杂物流的组织来说,这是理想的选择。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-10-102,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Buildkite 与其他 CI/CD 系统的区别
  • Buildkite 如何扩展
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档