2022 年 BazelCon 将于 11 月 16 日至 17 日在纽约和线上举办。
立即报名!

谁在使用 Bazel

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

本页面列出了已知使用 Bazel 的公司和 OSS 项目。这并不意味着我们认可您的应用。

使用 Bazel 的公司

acqio

Acqio 是一家为中小型企业提供付款产品和服务的金融技术公司。Acqio 有一些单代码库,并且使用 Bazel 和 Kubernetes 来提供快速可靠的微服务。

Adobe

Adobe 发布了适用于由 GitOps 驱动的持续 Kubernetes 部署的 Bazel 规则

Asana

Asana 是一款旨在帮助团队跟踪工作的网页和移动应用。用他们自己的话说:

Bazel 为 Asana 的所有构建/测试提升了可靠性、稳定性和速度。我们不再需要清理,因为缓存不正确。

Ascend.io

Ascend 是一家 Palo Alto 初创公司,提供用于大型数据集分析的解决方案。他们的座右铭是大数据很难。我们可为您提供便利

蜂蜜

Beeswax 是一家位于纽约的初创公司,提供实时出价即服务。Bazel 为基于 Jenkins 的持续集成和部署框架提供支持。Beeswax 喜欢使用 Bazel,因为它不仅速度快、语言正确,而且在许多语言和平台上都受到广泛支持。

雨林

PayPal 子公司 Braintree 为网站和应用开发付款解决方案。他们将 Bazel 用于内部构建的部分环节,保罗·格罗斯甚至发布了一篇有关 Bazel 如何改用 Bazel 的文章

Canva

Canva 利用 Bazel 管理其庞大的多语言代码库,其中包括 Java、Typescript、Scala、Python 等。迁移到 Bazel 显著提高了开发者和计算基础架构的效率,例如,平均 CI 构建时间缩短了 5 到 6 倍,并且继续成为该公司快速、可重现且标准化的软件构建的基础。

CarGuru

CarGurus 的使命是打造全球最值得信赖且最透明的汽车市场,并使用 Bazel 构建他们的多语种单声道代码库。

罗盘

Compass 是一个由技术驱动的房地产平台。我们与房地产、技术和商务专业人士等精英团队合作,力求成为最合适且最值得信赖的房源信息。

数据块

Databricks 提供基于 Apache SparkTM 的云端集成式工作区。

Databricks 代码库是一个 Monorepo,其中包含为大多数服务提供支持的 Scala 代码、用于前端界面的 JavaScript、用于编写基础架构的 Jsonnet 以及更多功能 [...](在 Databricks 中使用 Bazel 快速构建 Scala 模块

Dataform

Dataform 为数据团队提供可扩缩的分析服务。他们通过一个单代码库维护几个 NPM 软件包和一个文档网站,并通过 Bazel 完成所有这些操作。

迁移到 Bazel 后,他们报告了多项优势,包括:

  • 更快的持续集成:我们启用了远程构建缓存,从而将平均构建时间从 30 分钟缩短为 5 次(适用于整个代码库)。
  • 改进了本地开发:再也不用忘记忘记运行的 bash 脚本了,只需几分钟即可完成增量构建
  • 开发者设置时间:新工程师只需 3 个依赖项(bazel、Docker 和 JVM)即可构建所有代码。加入我们团队的最后一位工程师设法在一款全新的空笔记本电脑上花了 30 分钟构建了所有代码。

深银色 FISHLABS

深银色 FISHLABS 是一家高端 3D 游戏开发商。他们使用基于 C++/Python/Go/C 的 Bazel 作为其内部构建工具的基础,尤其是用于烘焙和部署所有 3D 资源。

Dropbox

在 Dropbox,Bazel 是分布式构建和测试环境的关键组件。我们使用 Bazel 将 Typescript/Python/Go/C/Rust 整合到可靠的生产版本中。

Engel &Völkers

Engel & Völkers AG 是一家德国私人公司,通过一系列特许办事处提供与房地产交易相关的服务。

我们其中一个内部项目的编译时间从 11 分钟缩短到大约 1 分钟,这是一项了不起的成就,我们目前正努力将 Bazel 推广到更多项目。(试用 Google Cloud Build 和 Bazel

Etsy

Etsy 是一个电子商务网站,专注于手工或复古商品和用品,以及独特的制造商制造的商品。

他们使用 Bazel 构建和测试其基于 Java 的搜索平台。Bazel 为裸金属服务器和可重复的 Docker 映像生成两个软件包。

Evertz.io

Evertz.io 是一个多租户无服务器 SaaS 平台,通过由 Evertz Microsystems 打造的广播媒体行业为全球提供经济高效的多区域服务。

该网站利用 Angular 和 Bazel 工作流(源代码)完全构建和部署。

查找

FINDMINE 是零售行业的一种自动化技术,使用机器学习技术来扩展目前繁琐的人工产品管理流程。我们使用 Bazel 对整个 Python 软件包构建、测试和部署过程进行自动化。

Flexport

Flexport 是一个支持技术的全球货运代理公司;我们的使命是让每个人都能更轻松地进行全球贸易。在 Flexport,我们使用 Bazel 构建/测试 Java/JavaScript 服务和客户端库,并根据 protobuf 定义生成 Java 和 Ruby 代码。了解我们如何使用 Bazel 单独运行 JUnit 5 测试。

Google

Bazel 的设计宗旨是能够满足 Google 的需求并满足 Google 的可再现性和平台/语言支持要求。Google 的所有软件都是使用 Bazel 构建的。Google 每天都会使用 Bazel 及其规则来处理数百万个 build。

GRAKN.AI

GRAKN AI 徽标

Grakn 是一种数据库技术,可作为智能系统的知识库基础。Grakn 可让智能系统将复杂的数据集解读为可以进行逻辑推断的单一知识正文。借助 Bazel,@graknlabs 团队能够构建一个高度精心编排的持续集成和分发流水线,该流水线可管理多个语言的多个代码库,并可无缝部署到多个平台。

华为

Huawei Technologies 正在大约 30 个项目中使用 Bazel,这些是 Java/Scala/Go 项目,但 Go 项目除外,其他项目最初是由 Maven 构建的。我们编写了一个简单的工具,用于将 Maven 构建的项目转换为 Bazel 构建的项目。不久之后,将有越来越多的项目使用 Bazel。

IMC 交易

IMC 是一家位于阿姆斯特丹的全球专有贸易公司和做市商。我们将使用 Bazel 持续构建和测试 Java/C++/Python/SystemVerilog 项目。

Improbable.io

Improbable.io 开发了 SpatialOS,它是一个分布式操作系统,支持创建由数百万复杂实体驻留的巨大模拟。

Interaxon

InteraXon 是一家由思想控制的计算公司,致力于打造硬件和软件平台,以便将大波转换为数字信号。

木星

Jupiter 是一家每周提供杂货和家居必需品配送服务的公司。

后端代码使用 Bazel,专门通过远程缓存将 proto 和 Kotlin 编译为 JVM 二进制文件。(来源

刚刚

Just 是一家企业财务技术公司,总部位于挪威,致力于开发软件解决方案以改变全球企业财务人员管理风险和流动性的方式。他们的整个应用堆栈是使用 Bazel 构建的。

Kitty Hawk Corporation

Kitty Hawk Corporation 是一家生产电气飞机的美国飞机制造商。它们将 Bazel 与 Haskell 和 Scala 规则结合使用。

线条

Line 提供了适用于即时通讯应用的应用,该应用是日本最受欢迎的即时通讯应用。他们在其代码库中使用 Bazel,这些代码库由约 60% 的 Swift 和 40% C/C++/Objective-C/Objective-C++(源代码)组成。

改用 Bazel 后,我们得以缩短构建时间。这在质量检查期间显著缩短了周转时间。向测试人员分发新 build 不再意味着再等待一个小时来构建和测试。(借助 Bazel 提升 iOS 版 LINE 的构建性能

LingoChamp

LingoChamp 为英语学习者提供专业解决方案。我们将 Bazel 用于 go、java 和 python 项目。

LinkedIn

LinkedIn 是 Microsoft 的子公司,是世界上最大的专业社交网络。LinkedIn 使用 Bazel 构建其 iOS 应用。

Lyft

Lyft 正在将 Bazel 用于其 iOS 应用(来源)。

马卡尼

Makani 现在是 Google 的子公司,负责开发能源风筝并使用 Bazel 构建其软件(包括其嵌入式 C++ 软件)。

聚会

Meetup 是一个在线社交网络门户,可促进线下团队会议。 Meetup 工程团队为 rules_scala 做出贡献,是 rules_avrorules_openapi 的维护者。

Nvidia

在 Nvidia 中,我们一直使用 dazel(docker bazel) 来支持 Python,以便解决 bazel's Python 的一些即将推出。所有其他服务都在普通 Bazel 中运行(大多数支持 Go/Scala/C++/Cuda)(源代码

飞行员技术

Peloton Technology 是一家自动化车辆技术公司,致力于解决卡车事故和燃料使用问题。它们使用 Bazel 为汽车安全系统启用可靠的 build

Pinterest

Pinterest 是全世界的创意目录。它们使用 Bazel 构建各种后端服务 (Java/C++) 和 iOS 应用 (Objective-C/C++)。

我们发现 Bazel 最适合为我们的目标奠定基础,为性能提升一个数量级,消除构建环境中的可变性并逐步采用。因此,我们现在使用 Bazel 发布我们的所有 iOS 版本。在 Pinterest 开发快速且可靠的 iOS build

PubRef

PubRef 是一个新兴的科学发布平台。它们使用 Bazel 和 rules_closure 来构建前端,使用原生 Java 规则构建主后端,使用 rules_gorules_noderules_kotlin 构建各种后端服务。rules_protobuf 用于协助后端服务之间的基于 gRPC 的通信。PubRef.org 位于科罗拉多州博尔德市。

红芬

Redfin 是新一代房地产经纪公司,提供全方位的本地代理。它们使用 Bazel 构建和部署网站和各种后端服务。

由于这次转化主要发生在我们身后,因此事情发生了极大的改善!我们的 CI 构建速度更快(快得多):它们以前需要 40-90 分钟,现在开发构建平均需要 5-6 分钟。可靠性也更高。这难于量化,但从无法解释的构建失败转变为“只是发生”就被视为被视为需要解决的真正问题,这使我们处于不断提高可靠性的良性循环中。 (我们从 Maven 切换到 Bazel,构建速度提高了 10 倍

双向

Ritual 是一款移动自提应用,将餐厅与客户联系起来,提供一种简单省时的工具,无需等待即可获得他们所需的食品和饮料。Ritual 使用 Bazel 作为其后端服务。

贴靠

Snapchat 即时通讯应用的开发者 2020 年从 Buck 迁移到了 Bazel(来源)。如需详细了解其流程,请参阅工程博客

条纹

Stripe 提供移动支付解决方案。它们是 Bazel Scala 规则的主要维护者。

Tink

Tink 是一种欧洲的金融技术,构建连接欧洲各大银行的最佳方式。

他们使用 Bazel 基于多语言单声道代码库构建后端服务。Tink 的工程师正在组织 bazel build //stockholm/... 聚会小组。

Tokopedia

Tokopedia 是印度尼西亚的一家专注于电子商务的科技公司,每月有超过 9000 万用户和平台中超过 700 万的商家。

他们撰写了文章 How tokopedia Achievement 1000% iOS Build Time(这篇文章提到了 Bazel 如何加快了构建速度)。使用 Bazel 后,构建时长从 55 分钟增加到 10 分钟,而使用远程缓存缩短到 5 分钟。

Twitter

Twitter 已决定从 Pants 迁移到 Bazel 作为其主要构建工具(来源)。

二西格玛

Two Sigma 是一家总部位于纽约的技术公司,致力于寻找全球数据的价值。

优步

Uber 是叫车服务公司。Uber 的 Go 单声道代码库有 900 名活跃开发者,很可能是使用 Bazel 的最大 Go 代码库之一。如需详细了解相关体验,请参阅使用 Bazel 构建 Uber 的 Go Monorepo 一文。

Uber Advanced Technologies Group

Uber Advanced Technologies Group 专注于 Uber 的自动驾驶车辆开发工作,包括卡车/货运和自动驾驶拼车。该组织使用 Bazel 作为其主要构建系统。

Vistar Media

Vistar Media 是一个广告平台,使品牌可以根据消费者在现实世界中的行为来覆盖消费者。他们的工程团队主要基于费城,使用 Bazel 进行构建、部署、加速测试,以及整合使用各种不同技术编写的代码库。

VMware

VMware 使用 Bazel 为客户开发创新产品,同时生成具有确定性、可靠的构建作业。

Wix

Wix 是一个云端 Web 开发平台。其后端使用 Java 和 Scala 代码。它们通过 Google Cloud Build 使用远程执行功能。

我们发现,在使用 bazel 远程执行功能运行时,干净构建的速度加快了 5 倍,后者利用 bazel 卓越的构建/测试并行功能,将构建/测试操作分派给工作器农场。由于使用了 bazel 的激进缓存机制,平均构建速度提高了 10 倍以上。(从 Maven 或 Gradle 迁移到 Bazel?您应该思考 5 个关键问题

Zenly

Zenly 是亲朋好友的实时地图。聚会是最有趣的聚会方式 - 亦或是只是想看看最近有什么活动!— 即使天各一方,也能安心在一起。


使用 Bazel 的开源项目

阿布西尔

Abseil 是 C++ 代码(符合 C++11)的开源集合,旨在增强 C++ 标准库。

Angular

Angular 是一种流行的网络框架。Angular 是使用 Bazel 构建的

阿波罗

Apollo 是一种高性能、灵活的架构,可加快自动驾驶汽车的开发、测试和部署。

brpc

百度中使用的一种工业级 RPC 框架,它包含 100 多万个实例(不统计客户端)和数千种服务,称为“百度”-“百度-rpc”。

证书管理器

cert-manager 是一个 Kubernetes 插件,用于自动管理和颁发各种颁发来源的 TLS 证书。它将确保证书有效且定期更新,并尝试在到期之前适当时间续订证书。

CallBuilder

一种 Java 代码生成器,允许您通过编写一个函数来创建构建器。

CPPItertools

C++ 库,基于 Python 内置库和 itertools 库提供基于范围的循环插件。与 itertools 和 Python3 内置函数一样,此库会尽可能使用延迟求值。

正文

Copybara 是一款用于在代码库之间转换和移动代码的工具。

Dagger

Dagger 是 Java 和 Android 的完全静态编译时依赖项注入框架。

DAML

DAML 是一种智能的合同语言,用于在注重隐私保护的安全运行时上构建面向未来的分布式应用。

Deepmind Lab

用于基于代理的 AI 研究的可定制 3D 平台。

德雷克

Drake 是一个由麻省理工学院创立的 C++ 工具箱,现在由 Toyota Research Institute 领导。它是一套用于分析漫游器的动态并为之构建控制系统的工具,主要侧重于基于优化的设计/分析。

Envoy

C++ L7 代理和通信总线

易出错

将常见的 Java 错误捕获为编译时错误。(正在迁移到 Bazel)。

Extensible Service Proxy

可扩展服务代理(也称为 ESP)是一种代理,可为 JSON/REST 或 gRPC API 服务启用 API 管理功能。当前的实现基于 NGINX HTTP 反向代理服务器。

FFruit

FFruit 是一款热门的 Falling Fruit 免费 Android 应用。

Gerrit 代码审核

Gerrit 是一个基于 Git 的项目的代码审核和项目管理工具。

图块

Gitiles 是适用于 Git 代码库的简单代码库浏览器,基于 JGit 构建。

Grakn

Grakn (https://grakn.ai/) 是一个知识图谱引擎,用于整理复杂的数据网络并使其可查询。

GRPC

语言和平台中立的远程过程调用系统。(Bazel 受支持,但并非主要构建系统)。

gVisor

gVisor 是一个容器运行时沙盒。

盖茨利

Guetzli 是一个 JPEG 编码器,旨在以较高的视觉质量实现出色的压缩密度。

古拉瓦

一种 Java 代码生成器,可让您编写 Prolog 样式的谓词,并通过常规 Java 代码无缝使用它们。

英雄

Heron 是 Twitter 中的一个实时、分布式流式处理引擎。

JGit

JGit 是一个轻量级纯 Java 库,用于实现 Git 版本控制系统。

Jsonnet

一种在形式上正式指定的 JSON 配置生成语言。(Bazel 是受支持的构建系统。)

Kubernetes

Kubernetes 是一个开源系统,用于跨多个主机管理容器化应用,为应用部署、维护和扩缩提供基本机制。

Kythe

可构建使用代码的工具的生态系统。

Nomulus

Google App Engine 上的顶级域名注册服务。

ONOS:开放网络操作系统

ONOS 是唯一支持从旧版“棕色”网络向 SDN“绿色字段”网络转换的 SDN 控制器平台。这可为网络运营商带来激动人心的新功能,以及中断性部署和运营成本点。

适用于 Java 的 PetitParser

传统上,编程语言的语法是静态指定的。由于难以避免地出现模棱两可的情况,因此难以编写和重复使用它们。 PetitParser 将来自无扫描式解析、解析器组合器、解析表达式语法和 packrat 解析器解析为语法和解析器的想法组合成可动态重新配置的对象。

PlaidML

PlaidML 是一个让深度学习在任何地方都能发挥作用的框架。

项目 V

Project V 是一套工具,可帮助您通过互联网构建自己的隐私保护网络。

Pysmatic Labs Ethereum 2.0 实现

Prysm 是基于区块链的计算平台 Ethereum 2.0 的分片客户端。

射线

Ray 是一个灵活的高性能分布式执行框架。

重置

Resty 是适用于 Go 的简单 HTTP 和 REST 客户端库(其灵感源自 Ruby Rest-client)。

大致时间

Roughtime 是一个旨在提供安全时间同步的项目。

Selenium

Selenium 是用于测试 Web 应用的便携式框架。

语义

Semantic 是一个用于解析、分析和比较源代码的 Haskell 库和命令行工具。它由 GitHub 开发(例如用于代码导航)。

已投放

Served 是一个 C++ 库,用于构建高性能 RESTful 网络服务器。

Sonnet

Sonnet 是以 TensorFlow 为基础构建的库,用于构建复杂的神经网络。

雪糕

Sorbet 是一个快速、强大的类型检查工具,适用于 Ruby 的子集。它支持数百万行代码的代码库,并且可以逐步采用。

Tink

Tink 是一种多语言、跨平台的开源库,可提供安全、易于使用且难以滥用的加密 API。

TensorFlow

一种适用于机器智能的开源软件库。

Turbo Santa

独立于平台的 GameBoy 模拟器。

Wycheproof

Project Wycheproof 可针对加密攻击测试已知攻击。

XIOSim

XIOSim 是适用于 x86 架构的详细用户模式微架构模拟器。

知乎日报

ZhihuDailyPurify 是中文问答网络的轻量级版本 - 知乎每日。