写点什么

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

评论

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

区块链技术发展趋势与银行业探索实践

CECBC

RTD 比率式温度测量传感器设计思路

不脱发的程序猿

学习 嵌入式 电路设计 硬件开发 ADI

【重磅】微信开源PhxSQL:高可用、强一致的MySQL集群

OpenIM

VSCode配置JAVA开发环境

IT蜗壳-Tango

Java 9月日更

华云大咖说 | 混合IT架构的统一管理——安超云套件产品介绍

华云数据

智汇华云 | 混合IT下的云管理套件核心技术解析

华云数据

网络攻防学习笔记 Day122

穿过生命散发芬芳

网络安全 8月日更

数字化时代商业银行客户触达策略研究 从数据到服务 由场景到生态

CECBC

你知道 ES6~ES12等叫法是怎么来的吗?

编程三昧

JavaScript ecmascript 8月日更

Vue进阶(八十七):输入框事件 blur 与 change 的差异

No Silver Bullet

Vue 9月日更

智汇华云 | ArSDN之分布式路由及浮动IP简介

华云数据

读书笔记 -《数据密集型应用系统设计》- 数据编码

KayTin

Lua 入门到精通( 02 Lua 基本语法)《做一个脚本高手》

陈皮的JavaLib

lua Linux 运维 8月日更

【Flutter 专题】60 图解基本 Dialog 对话框小结

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

Apache Pulsar 新增 2 位 PMC 成员:林琳与陈航

Apache Pulsar

腾讯云 Apache Pulsar

深入了解现代web浏览器(第三部分)

GKNick

POM 文件中 licenses 许可证的定义

HoneyMoose

快手平台严管售卖“仿黄金类饰品”,直播带货在收割消费者

石头IT视角

C#多线程开发-线程同步02

Andy阿辉

C# 多线程 多线程并发 8月日更

Zookeeper集群搭建

Mike

深入了解 RocketMQ 之ACL

邱学喆

签名 白名单 资源权限校验

华云大咖说 | 对象存储在金融行业的应用

华云数据

职场奇袭!3分钟完成一天工作

博文视点Broadview

SharingSphere 源码解析 -- 真实SQL生成探索

数据库 源码

Linux之last命令

入门小站

Linux

有迹可循之CheckList

编号94530

Code Review 架构设计 checklist

在线JSON转MySQL建表语句工具

入门小站

工具

webpack5之HMR原理探究

rayyang00

大前端 webpack

模块1-作业

笑看风雨情

中证协组织专题座谈会,加快推进区块链技术在证券行业应用

CECBC

07. 图灵测试与第一次AI浪潮

Databri_AI

人工智能

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