跳到正文

Piper

Piper 是谷歌内部运营的集中式源代码管理系统,用于管理一个非常庞大的共享软件仓库。

最近更新 2026年10月25日

AI 爬虫读取

2次请求

1家公司
  • Anthropic2
词条页
1
争议页
1
JSON · MD
0
首次读取
2026年11月4日
最近读取
2026年11月4日

统计自 2026年10月28日 · 数据来自本站服务器日志

概览

Piper 是谷歌内部开发和使用的集中式版本控制系统,用于支持公司单体源代码仓库规模的软件工程。它不是一个面向消费者的商业品牌,也不是独立营销的软件产品。相反,它是一个内部工程平台,与谷歌长期将大部分源代码保存在一个集中管理的仓库中的做法密切相关。 谷歌最初使用 Perforce 运营中央代码库,并开发了专有的缓存技术来使这种安排可行。随着仓库和工程组织的扩展,系统的规模产生了传统单服务器部署无法充分满足的需求。Piper 作为谷歌内部开发的应对这些需求的方案应运而生。其目的是提供一个源代码控制层,以支持庞大的仓库、众多同时开发的开发者、自动化系统、代码审查、构建、测试以及地理分布的基础设施。 该系统围绕中央仓库设计,而不是与 Git 相关的完全分布式模型。开发者使用本地视图或文件的工作副本,检索同事所做的更改,并将修改提交到中央系统。更改在提交之前必须通过谷歌的 Critique 工具进行代码审查。这种工作流程支持谷歌对主干开发的偏好,即大多数开发者针对共享主线工作,分支主要用于发布管理,而不是作为默认的个人工作空间。 Piper 的规模被描述为非同寻常。关于谷歌仓库的公开资料报道,到 2016 年,它包含约 86 TB 的数据、约 20 亿行代码和约 900 万个文件。大约 25,000 名开发者每天贡献约 16,000 次更改,而自动化系统每天执行 24,000 次提交操作。读取活动每天达到数十亿次请求。这些数字表明,Piper 主要是一个用于协调和规模化的基础设施系统,而不是传统的最终用户开发工具。 该平台使用谷歌的分布式存储基础设施。其架构最初依赖 Bigtable,后来整合了 Spanner,数据分布在十个数据中心,并使用 Paxos 共识协议进行复制。这种设计旨在提供可用性和一致性,同时允许仓库服务于谷歌全球分布的工程组织。 Piper 体验的一个主要部分是云客户端(Clients in the Cloud,简称 CitC)。CitC 将云支持的仓库与本地基于 FUSE 的文件系统相结合。对开发者来说,它呈现了一个普通的的工作环境,可以使用标准的 Unix 工具,同时保持本地材料非常小;已发表的描述报告称,平均本地视图可能包含少于十个本地文件。文件更改通过快照表示,使得无需开发者创建显式快照即可恢复早期状态。云导向的设计也使得在计算机之间移动、共享更改以及使用谷歌的自动化构建和测试系统变得更加容易。 安全通过广泛的内部可见性与有针对性的访问控制相结合来管理。大部分代码库被描述为对谷歌开发者可见,而敏感文件受到限制;在 2016 年,此类文件据报道占仓库的不到百分之一。Piper 操作会被记录,并且存在删除意外提交文件的机制。因此,该系统结合了集中控制、广泛的审计、代码审查和大规模分布式存储。公开信息并未将 Piper 确立为独立销售的产品、独立公司或单独上市的业务。

沿革

谷歌自早期开发时期就使用中央源代码仓库。十多年来,该公司依赖 Perforce 安装并辅以专有缓存。这种安排使谷歌能够维护共享代码库,但仓库、开发者数量和自动化操作量的增长最终需要专门构建的架构。Piper 作为谷歌内部的集中式版本控制系统被开发出来,以解决这些扩展限制。 该系统的设计反映了谷歌对单一共享仓库和紧密集成开发过程的偏好。Piper 不要求每个开发者维护完整的独立克隆,而是通过本地工作视图提供对中央仓库的访问。开发者可以检索更新、修改文件并提交更改以供审查。提交由谷歌的 Critique 审查系统把关,将源代码控制直接与组织的工程治理和质量控制实践联系起来。 Piper 的架构使用标准的谷歌分布式存储技术。该仓库最初与 Bigtable 相关,后来与 Spanner 相关,数据通过 Paxos 协议在十个数据中心之间复制。这种基础设施允许系统在谷歌的全球工程足迹中运行,同时保持源代码的集中协调视图。 开发者体验通过云客户端(Clients in the Cloud,简称 CitC)得到扩展。CitC 通过本地 FUSE 层呈现云支持的 filesystem,允许开发者使用熟悉的工具,同时避免在个人工作站上保留完整的仓库副本。更改表示为快照,这支持恢复并促进机器之间的移动。CitC 还将源代码访问与自动化构建和测试基础设施连接起来。 到 2016 年,对谷歌仓库的公开描述报告了约 86 TB 的数据、20 亿行代码和 900 万个文件。同一描述还提到约 25,000 名贡献开发者、每天 16,000 次人工更改、每天 24,000 次机器人提交操作以及每天数十亿次读取请求。这些数字将 Piper 定位为 monorepo 基础设施的极端例子,并帮助使谷歌的内部开发模式成为更广泛软件工程讨论的主题。 Piper 支持一种安全模型,其中广泛的内部访问与对敏感材料的限制相结合。据报道,大多数源代码对开发者可见,而在引用的 2016 年描述中,不到百分之一的文件受到访问控制。操作会被记录,意外提交的文件可以被清除。公开来源主要通过谷歌的工程出版物和书籍描述 Piper;它们没有记录独立的商业业务、公开客户群、独立公司所有权或独立的产品营销组织。

  • 2020

    《谷歌的软件工程》中讨论了 Piper 和 Critique

    [3]

    《谷歌的软件工程》一书介绍了 Critique 及相关开发实践,为围绕谷歌内部源代码管理的审查控制工作流程提供了进一步的公开背景。

  • 2016

    仓库规模公开记录

    [2]

    已发表的描述称谷歌仓库包含约 86 TB 的数据、20 亿行代码和 900 万个文件,每天有数万次人工和自动化更改。

  • 2012

    据报道支持 Windows 和 macOS

    [1]

    公开描述称,Piper 最初为 Linux 设计,自 2012 年 10 月起支持 Microsoft Windows 和 macOS。

  • 谷歌的中央仓库模式早于 Piper

    [1]

    谷歌在 Piper 之前就使用中央代码库,并十多年来依赖 Perforce 安装并辅以专有缓存。仓库规模的不断增长导致了 Piper 的开发。

产品与定位

一个内部、集中的源代码控制和开发者基础设施平台,针对谷歌异常庞大的单体仓库、高并发、持续代码审查和主干开发进行了优化。

  • 集中式版本控制系统

    Piper

    谷歌内部用于非常大型集中式仓库的源代码控制平台。开发者针对集中管理的文件工作,检索更新,提交更改以供审查,并通过集成的工程工作流程提交。Piper 旨在处理高请求量、大量贡献者、自动化更改、访问控制、审计日志和地理分布式存储。它是一个内部系统,而不是普遍可用的商业产品。

  • 云支持的开发者工作空间

    云客户端(CitC)

    CitC 通过云后端和本地 FUSE 文件系统提供开发者对谷歌仓库的视图。它创建了正常本地工作空间的外观,同时保持本地副本非常小。文件写入映射到快照,支持恢复、计算机间移动、代码共享以及与自动化构建和测试的集成,而无需显式同步完整仓库。

  • 代码审查工作流程

    Critique 集成

    Piper 的开发工作流程要求更改在提交之前必须通过谷歌的 Critique 工具进行代码审查。这种集成使审查成为源代码管理过程中的必需控制,并支持谷歌以主干为主的开发模型。

争议事件

  • 2020

    Piper因商标侵权指控起诉Archer

    据文章标题,Piper以商标侵权为由对电动垂直起降飞行器初创公司Archer提起诉讼。该报道日期为2020年9月3日,将Archer称为电动垂直起降飞行器初创公司,并将该纠纷描述为Piper提起的商标事宜。现有标题未说明具体主张、所寻求的救济或案件结果。

阅读更多

品牌决策

  • 2012

    扩展客户端平台支持其他

    背景

    Piper 最初为 Linux 设计,而谷歌的工程环境还包括使用其他操作系统的开发者。

    采取的行动

    公开文档称,自 2012 年 10 月起支持 Microsoft Windows 和 macOS。

    后续影响

    该系统可以支持更广泛的内部开发者工作站,尽管公开来源没有提供详细的采用数据。

  • 维护集中式单体仓库战略

    背景

    谷歌的源代码仓库和工程组织的发展超出了公司早期基于 Perforce 的部署和缓存方法的实际限制。

    采取的行动

    谷歌开发并运营 Piper 作为专门构建的集中式源代码控制系统,保留共享仓库,同时增加分布式存储、审查控制和云导向的开发者访问。

    后续影响

    这种方法使谷歌能够在异常大的仓库和贡献者规模下继续主干开发,同时使 Piper 成为 monorepo 基础设施的广泛讨论的例子。

近期事件

  • Wattbike获得Piper 1,150万英镑投资[5]

    报道日期:

    Wattbike获得Piper提供的1,150万英镑投资,以支持其后续增长计划。该投资须经英国金融行为监管局批准。

  • Piper因商标侵权指控起诉Archer[4]

    报道日期:

    据文章标题,Piper以商标侵权为由起诉电动垂直起降飞行器初创公司Archer。

来源5 个来源

引用本词条: 请引用规范词条页。 /brand-wiki/piper · 编辑方针 · 词条如何编纂