写点什么

Airbnb 的 CI/CD 框架引入了 Salesforce DX、Git 和 Buildkite 来提升软件交付效率

作者:Aditya Kulkarni

  • 2024-02-12
    北京
  • 本文字数:1042 字

    阅读完需:约 3 分钟

Airbnb 的 CI/CD 框架引入了 Salesforce DX、Git 和 Buildkite 来提升软件交付效率

Airbnb 最近介绍了一个针对其 CRM 平台量身定制的 DevOps 框架,集成了 Salesforce DX、Git 和 Buildkite。这个框架能够支持所有利益相关者(从开发人员到低代码用户)参与软件开发和部署过程。使用这个 DevOps 框架后,Airbnb 将部署时间从 90 分钟减少到了 15 分钟。


Airbnb 技术主管经理 Sharda Kumari 在一篇博文中详细阐述了 Airbnb 的 DevOps 之旅。这个 CRM DevOps 生命周期中的关键环境包括开发人员、集成、QA、暂存、预发布、修补程序和生产环境。每一个环境都链接到 Git 版本控制系统中的特定分支,并通过 Buildkite DevOps 管道进行集成。一旦代码通过了开发人员的同行评审,Buildkite 任务就会被激活,利用 Salesforce DX 将代码部署到指定的沙箱中。


该过程首先从集成环境中刷新开发人员实例,然后是特性分支创建、开发、单元测试和质量保证(QA)流程。经过 QA 后,代码将经历集成测试、特性和回归测试、用户验收和性能测试等阶段。对于紧急修复需求将使用单独的修补程序路线。该框架还包括预先安排的部署窗口、针对生产环境的构建验证以及用于减少部署的快速部署和增量部署等技术。


生命周期中针对代码部署建立了预定的发布时间段(部署窗口),并且发布需要得到所有利益相关者的同意。该时间表为最终用户对新特性的发布设定了明确的期望。该架构采用主动策略来解决 CRM 部署时间过长的问题,而这种时间通常会因大规模实现和广泛测试而随之增加。具体的策略包括了提前(部署前 24 小时以上)针对生产环境执行构建验证,从而实现快速部署以实现高效执行。


在此窗口期间,通过 Buildkite 实现 DevOps 自动化有助于快速部署,解决任何构建或测试问题,从而缩短实际部署时间。此外,架构还使用了增量部署策略,仅部署代码库之间的更改,而不是完整的代码库。这是通过在目标组织的自定义设置中存储和引用先前的提交 ID 来实现的,从而允许 Buildkite 仅部署必要的更改。


资料来源:Airbnb 的 CRM DevOps 转型:强大的持续交付框架


DevOps 框架解决了 CRM 平台生态系统中的关键挑战,包括管理多个开发环境(如沙箱或临时组织)、处理不同元数据类型(Apex 类、触发器、Lightning 组件、流程)的复杂性,以及对基于云的 CRM 平台的频繁更新和新功能的持续适应需求。该框架简化了流程,实现更高效的管理和集成。


另一方面,在 2023 年,Airbnb 因参加知识与数据挖掘(KDD)2023 活动、开发类似 Lambda 的数据框架 Riverbed,并转向使用 SwiftUI 而登上了头条新闻。


原文链接

https://www.infoq.com/news/2024/01/airbnb-crm-devops-framework

2024-02-12 08:0016709

评论

发布
暂无评论
发现更多内容

kubernetes下的Nginx加Tomcat三部曲之二:细说开发

程序员欣宸

Java Kubernetes 5月月更

八卦信息怎样传到吃瓜群众?这是一条正儿八经的技术科普

融云 RongCloud

奉劝想把编程学好的学弟们 · 如何高效学习编程?

安然无虞

5月月更

浅谈前端和后端的区别

工程师日月

5月月更

在线提取Sitemap中的URL工具

入门小站

工具

适合喜欢快速wiki和md的 vuepress

kcnf

sealer 成为 CNCF Sandbox 项目,旨在构建分布式应用交付新标准

阿里巴巴云原生

阿里云 开源 容器 云原生

深入浅出PID算法

劼哥stone

算法 工业互联网 PID

中原银行流量削峰平台

中原银行

高并发 流量 中原银行 削峰

linux之history命令

入门小站

Linux

整理了100个必备的Python函数,建议收藏

伤心的辣条

Python 程序人生 软件测试 软件自动化测试 测试 单元测试

计算机二级备考

工程师日月

5月月更

在线TSV转SQL工具

入门小站

工具

PHP基础语法1

乌龟哥哥

5月月更

高效学习C++基础部分&话题挑战赛

安然无虞

5月月更

ACK One 构建应用系统的两地三中心容灾方案

阿里巴巴云原生

阿里云 容器 云原生 容灾

Zadig + Gitee:完美实现微服务架构持续交付

Zadig

DevOps 云原生 CI/CD 软件交付

九、高可用之弹性伸缩

穿过生命散发芬芳

5月月更 高可用设计

Go语言入门很简单:如何在 Go 语言中使用 MySQL

宇宙之一粟

Go 语言 MySQL 数据库 5月月更

时不我待,TSDB崛起正当时

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

什么是数据资产?

奔向架构师

数据资产 5月月更

这 BUG,绝了

AlwaysBeta

程序员

针对自动取款机优化需求的用例设计,应该挺全面了吧

伤心的辣条

Python 程序人生 软件测试 软件自动化测试 软件测试工程师

天翼云十年一诺,以普惠算力拥抱万里山河

脑极体

CMMI3级(低成熟度)与5级(高成熟度)到底有什么不同?

高山

CMMI CMMI高成熟度

云原生×实战派:向业务聚焦,数字创新时代的最佳选择

阿里巴巴云原生

阿里云 云原生 实战 电子书 案例集

Hadoop Java api操作hdfs(二)

Emperor_LawD

hadoop 5月月更

测试人面试 常被问到的计算机网络题,高薪回答模板来了!

伤心的辣条

Python 程序人生 测试 自动化测试 测试 单元测试

YUV色彩空间

Loken

5月月更

快速删除 node_modules

HoneyMoose

HTML的iframe使用

恒山其若陋兮

5月月更

Airbnb 的 CI/CD 框架引入了 Salesforce DX、Git 和 Buildkite 来提升软件交付效率_框架_InfoQ精选文章