写点什么

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

评论

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

大数据场景下Volcano高效调度能力实践

华为云开发者联盟

大数据 spark Kubernetes Volcano application

作业2

瑾瑾呀

焱融科技借公有云出海,服务国际知名卡车制造商自动驾驶业务

焱融科技

自动驾驶 分布式 存储 自动驾驶训练

生活,在哪里都一样

熊斌

个人成长 28天写作

android开发三大框架!国内一线互联网公司面试题汇总,终局之战

欢喜学安卓

android 程序员 面试 移动开发

当公元成了可以考古的年代「幻想短篇 17/28」

道伟

28天写作

年会游戏:猜数字(前端特效)

德育处主任

CSS html 大前端 js 28天写作

循环?还是递归?

xcbeyond

Java 算法 递归 28天写作

企业项目迁移go-zero全攻略(一)

万俊峰Kevin

微服务 microservice Go 语言

多币种钱包系统开发|多币种钱包软件APP开发

系统开发

与前端训练营的日子 --Week13

SamGo

学习

Why me, why now Jan 25, 2021

王泰

28天写作

2020下半年可信边缘云评估结果揭晓,2021年新一轮评估正式开启

大数据 可信云 可信边缘云

架构师训练营 - 第四周作业

Mark

文章类网站前端日期的显示该如何选择时区?

IT蜗壳-Tango

七日更 服务器时区

数字货币钱包APP系统开发|数字货币钱包软件开发

系统开发

都在用Kafka ! 消息队列序列化怎么处理?

李尚智

Java kafka 架构 消息队列 消息中间件

使用 external version 进行 Elasticsearch 并发控制

escray

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

聊聊 Git 的三种传输协议及实现

Zoker

git 架构 DevOps

PolarDB-X 并行计算框架

PolarDB-X

数据库 sql 大数据

区块链钱包APP系统开发|区块链钱包软件开发

系统开发

OpsMind 前端低代码开发平台——MPlatform

OpsMind

大前端 低代码

字节跳动&火山引擎:企业级机器学习平台建设实践

机器学习 云计算 AI 云原生

管理的亲和力是怎么练成的?

一笑

管理 沟通与管理 28天写作

基于KubeEdge和Kuiper的边缘流式数据处理实践

华为云开发者联盟

spark 边缘计算 kuberedge kuiper 边缘流式数据

使用 AWS CDK Python 从零开始构建 EKS 集群

郭旭东

AWS IaC AWS CDK

[编程参考-连载] Snowflake 算法原理与对应的 Python 实现

穿甲兵

Python 算法

鸿蒙开发者beta!Github标星25K+超火的Android实战项目,赶紧收藏!

欢喜学安卓

android 程序员 面试 移动开发

数据库性能调优之始: analyze统计信息

华为云开发者联盟

数据库 sql GaussDB 语义

MySQL 5.6.35 索引优化导致的死锁案例解析

vivo互联网技术

MySQL 数据库 死锁

区块链数字钱包APP系统开发|区块链数字钱包软件开发

系统开发

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