DevOps在字节跳动的实践和探索

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. DevOps 在字节移动 研发中的探索和实践 波波|字节跳动应用开发套件 MARS 研发工程师 2021/11/20 1
2. 1.移动研发面临的效能挑战 2.字节移动 DevOps 简介 3.字节移动 DevOps 核心能力介绍 4.总结和展望 2 2
3. 3 移动研发面临的效能挑战
4. 移动研发面临的效能挑战 构建: • 环境碎片化 • 4 工程: • 单体工程 ->组件化,多仓 Mac 非标准机器 设备: • 机型碎片化 • 4 系统碎片化 编程语言: • OC,Swift,Java,Kotlin,Dart,C/C++….. • 混合编程 发布: • 止损慢 • 更新慢 www.volcengine.com
5. 5 字节移动 DevOps 简介
6. 字节移动 DevOps 简介 6 6 www.volcengine.com
7. 字节移动 DevOps 简介 7 7 在字节跳动的落地效果: 一周 发版频次 20% + 静态检测拦截率 2 分钟 7 分钟 10 分钟 Android 增量构建 Android 全量构建 iOS 构建 www.volcengine.com
8. 8 DevOps 核心能力介绍
9. DevOps 核心能力-工作流 9 9 三层产品架构(自上而下): • • • 原子服务 • 规范化封装的最小功能性任务 • 全流程、多平台 • 开放平台、自由扩展 工作流 • 原子服务串/联组成的任务流 • 自由编排、按需配置 模板 • 字节跳动研发模式的沉淀 • 基础流、多仓流、多宿主流 www.volcengine.com
10. DevOps 核心能力-工作流 10 10 支持框选添加串并行: • 自由编排,降低上手成本 DAG: 找最近公共父子节点并遍历,存在框选节 点,高亮该分支所有节点。 www.volcengine.com
11. DevOps 核心能力-工作流实践 11 11 多仓集成流介绍: www.volcengine.com
12. DevOps 核心能力-工作流实践 12 12 多仓原理: www.volcengine.com
13. DevOps 核心能力-持续构建 13 构建集群 构建监控 构建缓存 • 构建资源云化,动态资源调度 • 耗时分析 • 容器缓存/文件缓存 • 任务隔离,安全 • 裂化监控 • 分布式缓存 13 www.volcengine.com
14. DevOps 核心能力-持续构建 14 字节云构建集群: • 机器、队列、环境、任务,运管监控平台统一管理 • 分布式集群,弹性伸缩,横向扩容,充分利用资源 • 调度策略灵活可配:优先级、最优环境匹配 • 任务隔离, Mac 虚拟化支持,保障构建安全 图片区域 图片区域 www.volcengine.com
15. DevOps 核心能力-持续构建 15 Mac 虚拟化技术——Cusk: • 免配置生产就绪的 MacOS 环境 • 基于 Mac 硬件可信虚拟化技术 • 快速伸缩,按需配置规格和容量 图片区域 www.volcengine.com
16. DevOps 核心能力-持续构建 16 16 www.volcengine.com
17. DevOps 核心能力-持续构建 17 17 分布式编译加速系统——Dolphin • 利用分布式缓存加速编译。 • 不同工程目录下缓存可以复用。 • App 编译效率提升 30%-50%。 • 简单配置即可使用。 www.volcengine.com
18. DevOps 核心能力-持续测试 静态: • MR 检测 • 代码规约检测 • 单元测试 • 安全合规检测 • 包检测 • 18 18 静态测试,如何更好在业务落地? Daily 检测 • 代码缺陷检测 动态: • 移动端自动化测试 (后面会由孤影同学给大家详细介绍) www.volcengine.com
19. DevOps 核心能力-持续测试 19 19 • 线上无需改动任何代码,开箱即用 • 规则有效,规则包多业务复用,提供最佳实践 • 问题消费可见可跟进 www.volcengine.com
20. DevOps 核心能力-持续测试 20 20 www.volcengine.com
21. DevOps 核心能力-持续测试 21 21 新方向的探索: • CodeGraph-Based DynamicTest: • 定位改动的 Activity/ViewController • 更精准的测试,更快速的暴露问题 • 原理可以关注这里 www.volcengine.com
22. DevOps 核心能力-持续发布 制品库 质量保障 发布 • • • • • 唯一发布可信源 安全预审 内测/众测 22 22 精准灰度 放量管控 发布监控 • • • • Crash/舆情监控 精准熔断 Bug 反馈 归因分析 www.volcengine.com
23. DevOps 核心能力-持续发布 23 23 www.volcengine.com
24. 24 总结和展望
25. 总结和展望 25 25 工作流:自由编排,最佳实践 持续构建:集群管理,编译监控,缓存优化 持续测试:场景覆盖,开箱即用,问题跟踪 持续发布:制品库、质量预审、灰度发布、发布监控 www.volcengine.com
26. 火山引擎应用开发套件 MARS,免费公测中 MARS DevOps 即将公测,欢迎关注 MARS,关注 MARS DevOps 火山引擎应用开发套件 MARS,是由字节跳动技术经验的沉淀,经抖音、今日头条等多款 App 研发实践验证、诸多企业使 用的面向多端开发场景的应用研发工具,致力于通过先进的研发技术,帮助企业和用户降低研发成本、聚焦业务成功。 微信扫码关注公众号,点击底部菜单栏“MARS 产品”即可申 请免费试用,如有私部需求也可在公众号内随时与我们联系解决。 www.volcengine.com
27. 欢迎加入 2 7 27 扫码关注 “火山引擎开发者社区”公众号 www.volcengine.com
28. www.volcengine.com

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-15 22:35
浙ICP备14020137号-1 $Map of visitor$