Airbnb的CRM DevOps框架概述
Airbnb最近讨论了为其CRM平台量身定制的DevOps框架,该框架集成了Salesforce DX、Git和Buildkite。这一框架使得从开发者到低代码用户的所有利益相关者都能参与开发和部署过程。通过这一DevOps框架,Airbnb将部署时间从90分钟缩短至15分钟。
关键环境和流程
Airbnb的CRM DevOps生命周期包括以下关键环境:开发环境、集成环境、QA环境、预发布环境、热修复环境和生产环境。每个环境都与Git版本控制系统中的特定分支相关联,并通过Buildkite的DevOps管道进行集成。一旦代码通过开发者的同行评审,Buildkite任务就会被激活,利用Salesforce DX将代码部署到指定的沙盒中。
流程从刷新开发实例开始,接着创建功能分支、进行开发、单元测试和质量保证(QA)。通过QA后,代码会经历集成测试、功能和回归测试、用户验收测试以及性能测试等阶段。对于紧急修复,会使用单独的热修复路径。
部署策略和优化
框架还包括预定的部署窗口、针对生产环境的构建验证以及快速部署和增量部署等技术,以减少部署时间。所有利益相关者同意的代码部署时间块(部署窗口)被设定,以便为最终用户设定清晰的新功能发布期望。
为了应对长时间CRM部署的挑战,Airbnb采取了积极的策略,包括提前进行生产环境的构建验证(部署前24小时以上),并启用快速部署以实现高效执行。在部署窗口期间,通过Buildkite的DevOps自动化促进了快速部署,并解决任何构建或测试问题,从而减少实际部署时间。
增量部署
此外,Airbnb使用增量部署,仅部署代码库之间的变更,而不是整个代码库。这是通过在目标组织的自定义设置中存储并引用之前的提交ID来实现的,从而使Buildkite能够仅部署必要的变更。
框架解决的问题
该DevOps框架解决了CRM平台生态系统中的关键挑战,包括管理多个开发环境(如沙盒或Scratch Org)、处理多样化元数据类型(如Apex类、触发器、Lightning组件、流)的复杂性,以及适应基于云的CRM平台频繁更新和新功能的需求。
其他技术动态
2023年,Airbnb还因参与知识发现和数据挖掘(KDD)2023活动、开发类似于Lambda的数据框架Riverbed,以及转向使用SwiftUI而成为头条新闻。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。