- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
开发工具的云端化
开发工具的云端化
赵扶摇 @
Jeff Dean: Setup Interview [13]
• 现有环境:For writing code, I use emacs and Googles
internal distributed build system (a version of which
was open sourced as Bazel) and our version control
system, plus Googles internal code searching tools that
allow me to quickly search over Googles whole code
repository.
• 仅有不足:A view of the ocean would also be nice.
大纲
• Google开发工具概述
• 重点分析:
• 代码仓库
• 云端构建
• 代码智能
Google开发流程概述
探索/理 构建/测
代码管理 编辑 审查
解 试
Google开发流程概述
• 代码管理
• 所有的代码在一个代码库中
• 近百TB代码瞬间完成checkout
• 编辑
• 云端工作空间
• 构建
• Build from source
• 全部云端进行
• 10分钟内完成,1,2个文件秒杀
• 共享构建/测试结果
Google开发流程概述
• 探索/理解
• 用IDE的体验在网页端浏览所有代码
• 语义化的搜索
• 代码审查
• 强制代码审查
• 提供上下文浏览环境
• 自动查错,自动修改
单根代码树(Monolithic Repo)[1]
• 所有代码统一放在一个库中
• 不同项目存放在不同目录
• Self contain (工具和版本绑定)
• Trunk开发(不需要branch)
• 项目之间源代码依赖
单根代码树(Monolithic Repo)
• 简化的版本和依赖控制
• 没有maven中常见的依赖混乱
• 左:Google的依赖树,右:Maven可能的依赖树
单根代码树(Monolithic Repo)
• 简化地依赖关系方便了
• 代码重用
• 配合构建系统,方便地引用其他包的代码
• 代码重构
• 可以一次性地修改所有的引用
• 少量代码:codesearch
• 大量代码:clangMR
• 强制使用新版本
• 不会出现由于升级太晚导致的种种问题
代码规模(2015)
• 10亿文件
• 900万源文件
• 20亿行代码
• 3千5百万commit (每天4万5千,每两秒一提交)
• 86TB
• Google之前一直在用Perforce
Linus @ Google [14]
Git
• 可以看成一个KV store
• Git objects在checkout时被
copy进文件目录
• 但是无法处理大规模的库
• 一个可能的git云端化的思
路?
您可能关注的文档
最近下载
- 俄国构成主义设计运动报告.ppt VIP
- 2025南方电网保山供电局项目制用工招聘(3人)笔试参考题库附答案解析.docx VIP
- 2025年广东省中学生天文知识竞赛试题(及答案).docx VIP
- 电镀基础知识100问.pdf VIP
- 党课:9.3纪念中国人民抗日战争暨世界反法西斯战争胜利80周年阅兵PPT课件.pptx VIP
- 高中数学--等差数列知识点归纳和习题检测.doc VIP
- 云南省2025年中考英语真题含答案.pptx VIP
- SW硅墨烯免拆模外墙保温系统工程作业指导书.docx VIP
- 2025-2026学年粤教花城版(2024)初中音乐七年级上册教学计划及进度表.docx
- 2025杭州电力设备制造有限公司招聘70人(第二批)笔试备考试题及答案解析.docx VIP
文档评论(0)