当前位置:首页 > 报告详情

字节跳动 Mobile DevOps 工程实践-李腾飞.pdf

上传人: 张** 编号:153173 2024-01-15 34页 13.28MB

1、字节跳动 Mobile DevOps 程实践后端研发程师/李腾Startup Slides2纲项背景功能介绍业务实践!每构建数量超过 10w移动端项MR 数量平台活跃户构建每天参与到项研发的同学 8000+,包括 QA,PM,RD 等每周有超过 1000 个仓库,总计产 1.2w 个 MR每周活跃的移动端项数 100+内涵段抖Feed、Account、ImageFeed、Account、Image、LongVideo、TrackerFeed、Account、Image、ShortVideo、LiveFeed、Account、Image、ShortVideo、Tracker!#$%&()*+,-

2、./内涵段今头条抖视频#$%&Analysis 01基础库混乱,重复造轮,通库维护和迭代流程不清晰Analysis 03代码逻辑互相影响,测试效率低,质量难保证Analysis 02团队合作代码依赖和冲突多,协作困难Analysis 05没有完善基础流程,新APP上困难Analysis 04代码合并困难,打包慢,流程低效Analysis 06缺少个统的管理平台#$%&()*基础组件开发开发/项管理具合码集成集成区#$%&(+,-.组件平台研发流程发布/012/012($3Target 01项组件化Target 02Target 03Target 04规范的通库维护流程动化构建流程基础功能动化/

3、012(45组件维护升级反馈通知查询CocoaPodsMavenDart Pubnpm历史版本组件维护信息索引数据收集屏蔽细节通能组件使组件化平台/012(670123!#$%&()*+,-.%&/01234567456*+789:;9:?A/0%&,BCDEFGHIJ:;?cdef9:,VWgh?ij9:?/0kl3ABCmnVWcdopqrst?%&QuvwxdyTU!z9:?|,W9:?F3DE67FGGHIJKmnVWcdop|,e?9:N/01289-.业务的速发展导致各个团队的技术栈和研发流程都有较的差异1iOS,Android,Flutter 技术栈引的研发流程之间有较的差异2成

4、熟产品和速迭代的产品研发流程上有着较差异3国内业务与海外业务在研发流程中有这不同的要求,对国外的安全合规要求会引较的复杂度489-.()*抖头条中台组件TikTok统89-.($3个需求在多个组件仓进开发,需要统提交 MR 并完成合多仓合码对个版本周期内的 MR 进管理,管理不同版本之间 MR 的合和发布版本集成MR 状态同步到需求任务系统,进状态流转需求流转Flutter 场景,组件的改动需要同时在 iOS,Android 两个宿主中完成版本号集成多宿主PIPELINE代码审查,持多种配置规则CODE REVIEW安全合规检查 source 分代码是否与 target 分有冲突冲突检查多仓持

5、动的组件发版,并把版本号集成到主仓中组件发布在整个研发流程链路上埋点统计各个阶段耗时和成功率,帮助业务优化的流程度量定义流线,撑业务定义脚本任务包含隐私检测,合规检查,静态检测等能89-.(:;6789-.(+,4589-.(-.=业务根据身需求编排的研发流程顺序和功能定义编排MR 从创建到合的整个过程都会在前端展示出当前执的任务和阶段可视化流程引擎驱动上层业务编排的任务,持回滚,取消,跳过等能调度持业务开发任务并把任务接的流程中参与整体的调度三任务接89-.(-.=89-.(-.?AB?CA流程引擎原服务PipelineCode Review流程引擎与Pipeline的区别是什么?89-.(

6、?AB?CA89-.(?AB?CA统 Linux,Window,MacOS 执环境通过插件市场是 Job 更通度定义,可编排与研发流程紧密结合89-.(?AB?CA89-.(?AB?CA89-.(?AB?CA89-.(?AB?CA89-.(DEF票机制,没有票的 MR 不允许跟版准管理各个 APP 的发版计划版本历满条件的 MR 切换 Target 分并合封版基于版本驱动APP 会以固定的时间周期进发版,在此过程中需要知道哪些需求需要跟当前版本,哪些需求已经跟,集成区就是来管

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要介绍了字节跳动在移动端项目研发过程中,面临的挑战以及他们的解决方案。项目面临的问题包括基础库混乱、代码逻辑互相影响、团队合作困难、缺少统一管理平台等。为了解决这些问题,他们提出了项目组件化、规范通用库维护流程、自动化构建流程等策略。同时,他们还构建了一个支持多宿主、多版本集成管理、自动化发版的研发平台,支持业务根据自身需求编排研发流程,提高研发效率。项目组件化使得一个需求在多个组件仓进行开发时,可以统一提交MR并完成合并。此外,他们还实现了代码审查、安全合规检查、静态检测等功能,以确保代码质量。通过在整个研发流程链路上埋点统计各个阶段的耗时和成功率,帮助业务优化自己的流程。
"移动端项目如何实现高效研发协作?" "如何通过MobileDevOps提升开发效率与质量?" "多宿主环境下,如何实现统一版本管理与发布?"
客服
商务合作
小程序
服务号
折叠