2025 AI基础设施风向标,不看必后悔!#AI基础设施峰会 了解详情
写点什么

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

评论

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

MySQL索引的B+树到底有多高?

转转技术团队

MySQL 索引

MySQL 原理与优化,Group By 优化 技巧

老崔说架构

Discourse 的关闭主题(Close Topic )和重新开放主题

HoneyMoose

springboot应用查询城市天气

程序员欣宸

Java spring-boot 8月月更

Kubernetes 资源核心原理

CTO技术共享

开源 签约计划第三季 8月月更

一文看懂大数据生态圈完整知识体系

博文视点Broadview

StratoVirt 中的虚拟网卡是如何实现的?

openEuler

开源 openEuler Open Source 内核态 虚拟网卡

语音直播系统——有没有必要开展代码优化

开源直播系统源码

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

2022秋招前端面试题(八)(附答案)

helloworld1024fd

C++运算符重载之加号运算符重载

CtrlX

c c++ 后端 运算符 8月月更

对话跨国消费品牌DPO:数据安全合规从何做起?8.11直播见!

奇点云

数据治理 数据安全 数据合规

【LeetCode】逐步求和得到正数的最小值Java题解

Albert

LeetCode 8月月更

mysql进阶(三十一)常用命令汇总

No Silver Bullet

MySQL 常用命令 8月月更

2022秋招前端面试题(七)(附答案)

helloworld1024fd

程序员为什么一定要用Linux?

TimeFriends

8月月更

如何快速打通镜像发布流程?

鲸品堂

镜像

浅谈一线互联网大厂中算法岗的分类

码农鬼仔

数据挖掘 AI 算法工程师 校招 机器学习/深度学习

OpenMLDB + Jupyter Notebook:快速搭建机器学习应用

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征工程

收到人生第一笔五位数工资

Amazing_eve

#开源

使用 ABAP 编程语言的 System CALL 接口,直接执行 ABAP 服务器所在操作系统的 shell 命令

汪子熙

Linux unix SAP abap 8月月更

Kubernetes 企业如何落地

CTO技术共享

开源 签约计划第三季 8月月更

Kubernetes web网站无法访问

CTO技术共享

开源 签约计划第三季 8月月更

《MySQL入门很轻松》第3章:数据库的创建与操作

乌龟哥哥

8月月更

STM32F103实现IAP在线升级应用程序

DS小龙哥

8月月更

electron 应用开发优秀实践

vivo互联网技术

前端 Web Electron 桌面开发

Edge 提供了标签分组功能

HoneyMoose

用Java扩展Nginx(nginx-clojure入门实战)

程序员欣宸

Java nginx 签约计划第三季

数据治理(四):数据仓库数据质量管理

Lansonli

大数据 数据治理 8月月更

Java基础 | Stream流原理与用法总结

Java 架构

绝了,这套RESTful API接口设计总结

知识浅谈

8月月更

看漫画MHGmhgui,Python爬虫之神奇的eval,附赠一个压缩模块

梦想橡皮擦

Python 爬虫 8月月更

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