写点什么

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:0014963

评论

发布
暂无评论

《2022 年上半年全球独角兽企业发展研究报告》发布——DEMO WORLD世界创新峰会圆满落幕

创业邦

攻防视角下,初创企业安全实战经验分享

声网

网络安全

兆骑科创创新创业大赛活动举办,线上直播路演,投融资对接

兆骑科创凤阁

Vue3 初探

怀府风

大数据开发,Hadoop Spark太重?你试试esProc SPL

华为云开发者联盟

大数据 开源 后端

IDC:阿里云稳居中国大数据平台公有云市场第一位

阿里云大数据AI技术

阿里云

如何防止重复下单?

三分恶

8月月更

Mybatis中#{}和${}的区别

开发微hkkf5566

SAP ABAP SteamPunk 蒸汽朋克的最新进展 - 嵌入式蒸汽朋克

汪子熙

云原生 Cloud 云平台 SAP 8月月更

《分布式云最佳实践》分论坛,8月11日深圳见

阿里云弹性计算

分布式云 飞天 数字化升级 一云多形态

Python 教程之输入输出(4)—— 用于竞争性编程的 Python 输入法

海拥(haiyong.site)

Python 8月月更

使用python获取浏览器收藏夹和历史浏览记录,然后可以...

技能实验室

签约计划第三季

直播系统开发——直播间架构的设计及难点分析

开源直播系统源码

软件开发 语聊房 语音聊天源码 直播系统开发

2022年7月国产数据库大事记-墨天轮

墨天轮

数据库 腾讯云 GaussDB 国产数据库 KingBase

深入聊聊Linux五种IO模型

C++后台开发

epoll 网络模型 I/O模型 C/C++后台开发 C/C++开发

面渣逆袭:MySQL六十六问,两万字+五十图详解

三分恶

MySQL 8月月更

面了三十个人,说说真实感受

三分恶

面试 面试官 8月月更

不需要服务器,教你仅用30行代码搞定实时健康码识别

华为云开发者联盟

云计算 疫情 文字识别 健康码

从-99打造Sentinel高可用集群限流中间件

艾小仙

Java 高可用 sentinel 集群限流

百度APP Android包体积优化实践(三)资源优化

百度Geek说

Andriod

Pisanix v0.2.0 发布|新增动态读写分离支持

SphereEx

数据库 开源 ShardingSphere SphereEx

HTTP和HTTPS的区别

开发微hkkf5566

5种kafka消费端性能优化方法

华为云开发者联盟

大数据 kafka 后端 MRS

现代 ABAP 编程语言中的正则表达式

汪子熙

正则表达式 编程语言 SAP abap 8月月更

2022版史上最全Java八股文,没有任何异议

Java工程师

Java 面试 八股文

快速打造安全的车联网平台

Geek_99967b

小程序

重构指标之如何监控代码圈复杂度

京东科技开发者

测试 重构 软件重构 分布式应用软件

Spring之JDK动态代理与CGLIB动态代理

echoes

Typora收费?搭建VS Code MarkDown写作环境

三分恶

工具 markdown 8月月更

NFT盲盒挖矿系统dapp开发NFT链游搭建

薇電13242772558

dapp NFT

开源一夏 | 文件和目录操作|多进程和多线程【python进阶篇】

恒山其若陋兮

开源 8月月更

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