写点什么

DoorDash 的移动应用发布流程

  • 2023-12-22
    北京
  • 本文字数:933 字

    阅读完需:约 3 分钟

DoorDash 的移动应用发布流程

DoorDash 公司的移动应用发布流程基于团队间明确的分工职责、有效的沟通、测试以及严格的回归问题处理和紧急修复规则。DoorDash 工程师 Manolo Sañudo 解释说,尽管并非所有的企业都具备 DoorDash 这样庞大的规模,但他们的解决方案的许多方面对规模较小的企业也有所帮助。


DoorDash 遵循的是相对简单的周发布周期。每个新的发布候选版本都会有一个发布分支,经过为期一周的测试和修复过程,最终正式发布。


每个新的发布候选版本都会分配一个发布经理来监督整个过程,确保一切顺利进行。发布经理的人员池要足够大,不会出现有人被工作量所拖累的情况,但也不至于过大,以至于无法跨各个发布版本做出一致的决策,或者危及发布流程的发展和改进。


每个发布候选版本都有自己的 Slack 频道,便于将状态更新和会话集中到一个地方,防止生产环境的漏洞热修复产生噪音。


对于测试,Sañudo 表示,由于无法在一周内进行完全的回归测试,因此“组件所有者”会单独负责测试所有组件,并使用移动发布管理平台 Runway 来跟踪测试状态。


每个组件所有者需要在批准组件之前执行特定的测试任务。在提交评审之前,每个组件都必须得到批准。


Sañudo 表示,在测试阶段会不时地发现回归问题。在这种情况下,发布经理与受影响的团队合作修复问题,并推送到主开发分支,只有当回归影响用户体验时,这个修复才会被合并到发布候选分支上。在这个阶段,既不允许出现对用户没有影响的 bug,也不允许添加新特性,每个精心挑选的修复都必须经过团队的论证,并由发布经理批准。


如果在流程的后期发现了漏洞,即在应用程序提交审核之后,甚至会采取更严格的规则,因为实施热修复可能会导致发布延迟。


虽然更新还没有发布,但可能正在等待评审或已经获得批准,要实施修复,我们将不得不拒绝构建并重新提交应用程序。因为这可能会导致延迟发布,我们会根据具体情况评估修复是否值得以及如何根据具体情况进行修复。


在获得苹果公司的批准后,新版本将向 1% 的用户发布,确保没有出现重大问题,并在几天后推向整个用户群。在这个阶段,团队使用一些关键指标来了解新版本的组件可能出现的问题。同样,发布经理使用 Sentry 跟踪更高级别的指标,如崩溃率和趋势性问题。


原文链接:

https://www.infoq.com/news/2023/12/doordash-mobile-release-process/


2023-12-22 08:006313

评论

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

从改善设计的角度理解TDD (2)

Bright

敏捷 TDD

Java进阶(四)Java反射TypeToken解决泛型运行时类型擦除问题

No Silver Bullet

Java 反射 9月月更 typeToken

C语言:位段、枚举、联合体

孤衫

后端 C语言 枚举 9月月更

新零售SaaS架构:商品系统架构设计

AI架构师汤师爷

系统架构 SaaS 新零售

浅述AIOps与DevOps的区别在哪里

穿过生命散发芬芳

DevOps AIOPS 9月月更

用TDD开发基于数据库的长时任务系统

Bright

敏捷 DDD TDD

如何看待2023年秋招技术岗哀鸿遍野?

退休的汤姆

程序员 互联网 面试 社招 秋招

如何不编写 YAML 管理 Kubernetes 应用?

北京好雨科技有限公司

LeetCode-35. 搜索插入位置(java)

bug菌

9月日更 Leet Code 9月月更

mysql进阶

楠羽

MySQL 笔记 9月月更

容灾数据一致性保障探讨

agnostic

容灾 CAP

leetcode 148. Sort List 排序链表(中等)

okokabcd

LeetCode 算法与数据结构

信息安全之我见(45/100)

hackstoic

信息安全

你猜 1 行Python代码能干什么呢?神奇的单行 Python 代码

梦想橡皮擦

Python Python. 9月月更

2022-09-04:以下go语言代码输出什么?A:不能编译;B:45;C:45.2;D:45.0。 package main import ( “fmt“ ) func main() {

福大大架构师每日一题

golang 福大大 选择题

我理解的Smart Domain与DDD

Bright

敏捷 DDD TDD

好代码的五个特质-CUPID

Bright

敏捷 DDD TDD

设计模式的艺术 第二十五章模板方法设计模式练习(用模板方法模式开发一个数据库操作模块,用户只需将SQL语句作为参数传入模板方法,则可实现连接数据库、打开数据库、操作数据库(查询或更新)、关闭数据库等操作)

代廉洁

设计模式的艺术

已献出膝盖!GitHub上的宝藏级SpringBoot核心文档,讲得太清晰了

退休的汤姆

程序员 面经 面试技巧 秋招 Java八股文

Alibaba内传(2022更新版《面试速成手册》)流出,熬夜看到176页,YYDS!

程序知音

Java 阿里 程序员面试 后端技术 Java面试八股文

「知识点」曾经忽略的arguments

叶一一

JavaScript 前端 9月月更

LeetCode-53. 最大子数组和(java)

bug菌

9月日更 Leet Code 9月月更

「趣学前端」SVG,边学边做

叶一一

JavaScript 前端 9月月更

神级编程网站,堪称程序员的充电站,我给你找好了不能错过

C语言与CPP编程

编程 程序员 网站 计算机 编程语言‘

云资源管理概述

阿泽🧸

云资源 9月月更

Mavan:自定义骨架及工程初始化

程序员架构进阶

maven 低代码 9月日更 9月月更

C++学习------cstdint头文件的源码学习

桑榆

c++ 源码阅读 9月月更

一款开源的电商框架介绍:Spartacus

汪子熙

typescript angular SAP Spartacus 9月月更

你真的理解C语言中的 “ 数组 ” 吗?(初阶篇)

Albert Edison

数组 C语言 开发语言 二维数组 9月月更

使用 VUE 和 Go 触摸 WebAssembly

devpoint

Go Vue webassembly 9月月更

DoorDash 的移动应用发布流程_工程化_Sergio De Simone_InfoQ精选文章