在今年1月2日,任正非签发的2019年第001号文件,就把网络安全和隐私保护作为公司的高纲领,成为华为公司的全局战略。华为将初始投入20亿美元,计划用5年时间,在ICT基础设施领域实现为客户打造可信的高质量产品的目标。这种将“可信开发”上升到公司战略高度的做法,让我们对 QCon 上海,华为云《技术裂变中的可信软件开发》专场分享充满期待,看看华为云如何遵循可信软件开发理念以及在可信开发上积累的最佳实践。
华为内部 Git 协作遇到的挑战来自多个方面。华为内部代码平台规模庞大,代码仓库数 60 万+、注册用户数 21.5 万、源代码总行数 1100 亿+、每天提交次数 9 万+……项目规模超乎想象,授权细,项目仓库多并且耦合紧密,特性分支多,且团队跨网络分区,在内部代码托管处理上,充满挑战。
同时经典分布式工作流带来的一些问题,包括多仓库关联、派生仓库/分支同步复杂、仓库繁多,fork 失控、磁盘消耗太快等问题也需要解决。
为了解决这样的问题,华为云 DevCloud 团队在架构层面、功能性层面、用户体验层面做了很多工作,其中,难度大,影响也最为深远的,就是 OMEGA。OMEGA 是一种集中式仓库管理模式,在这种模式下,不需要再 fork 仓库,使用 manifest 文件来描述仓库的关系,子仓库可以做到快速更新。
(华为云DevCloud iSource 代码平台专家孙超)
如何保证可信呢?华为云DevCloud iSource代码平台专家孙超提出在规模团队,在面临众多仓库,要提升开发效率的时候,要做到:
仓库关系配置化: manifest 替代 submodule
统一管控仓库: 权限,规则等,由管理员统一配置
确定代码来源: manifest 内容之外的仓库,不参与版本发布
保存构建现场: manifest 快照记录构建当时使用的仓库列表与节点号
在此基础上,保证代码检查/CI 结果/二进制版本记录,能够回溯到每一个仓库的 commit 点。
同时在 QCon 上海,华为云也发布了关于 OMEGA 的开源计划,华为云表示 2019 年底将上线 DevCloud 产品 CodeHub 代码平台,在2020 年做到开源。