速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

评论

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

辅助驾驶技术有哪些?(28天写作 Day10)

mtfelix

28天写作

[ARTS-Review]Maximizing Developer Effectiveness Review

OutOfMemory1024

ARTS 打卡计划

产品经理书单推荐

王一凡

Elastic search 单节点、两节点、三节点环境

escray

elasticsearch elastic 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

Week3

oooh-la

产品经理训练营-第一周-作业

邹小胖

产品经理训练营

全网呕血整理:关于YOLO v3原理分析

华为云开发者联盟

算法 计算 yolo

第八周作业&总结

胡益

架构师系列 14 PageRank算法

桃花原记

架构师训练营第三周总结



KubeEdge应用案例 | 谐云基于云边协同平台,推进中移在线分公司IT技术架构产业升级

华为云原生团队

云计算 开源 云原生 边缘计算 边缘技术

今天也要用心过生活

熊斌

读书笔记 28天写作

Redis 学习笔记 06:压缩列表

架构精进之路

redis 七日更 28天写作

第十三周学习总结

晴空万里

架构师训练营第2期

【小菜学网络】集线器

fasionchan

网络编程 计算机网络 网络协议 TCP/IP

Spring Boot 集成MyBatis

武哥聊编程

Java mybatis springboot SpringBoot 2 28天写作

寻找学习资源的三种方式

石云升

学习方法 搜索技巧 28天写作

地下钱庄简单介绍

IT方案内参

大数据 地下钱庄 技战法

对比不同公司产品岗位差异及其洞察

Geek_79e983

产品经理训练营

【小菜学网络】以太网帧结构

fasionchan

网络编程 计算机网络 网络协议 TCP/IP

也说一下996

张老蔫

28天写作

永续合约系统APP开发|永续合约软件开发

系统开发

Kafka 原理以及分区分配策略剖析

vivo互联网技术

大数据 kafka 文件存储 消息队列

产品经理训练营 - 第一章 - 作业

Jeremy

SpringCloud 从入门到精通10---Nacos安装和使用

Felix

产品经理训练营 - 第一课 - 总结

Jeremy

亿级大表在线不锁表变更字段与索引

华为云开发者联盟

数据库 数据 索引 表格

8周架构

FreeOcean

产品经理 VS 项目经理 VS 需求工程师

王一凡

产品经理 项目经理 需求工程师

[ARTS-Share]OutOfMemory的Kafka学习笔记(1)

OutOfMemory1024

ARTS 打卡计划

音视频又贵又卡还不够炫?云原生的华为云视频云服务带你重塑新体验

华为云开发者联盟

云原生 音视频 云服务 华为云

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