本页列出了已知使用 Bazel 的公司和开源软件 (OSS) 项目。这并不构成对其的认可。
使用 Bazel 的公司
acqio
Acqio 是一家金融科技公司,为中小型商家提供付款产品和服务。Acqio 拥有一些单 repo,并将 Bazel 与 Kubernetes 搭配使用,以提供快速可靠的微服务。
Adobe
Adobe 已发布适用于 GitOps 驱动的持续 Kubernetes 部署的 Bazel 规则。
Asana
Asana 是一款 Web 和移动应用,旨在帮助团队跟踪其工作。 来源网站原文引述:
Bazel 可提升所有构建/测试的可靠性、稳定性和速度 由于缓存不正确,我们不再需要清理。
Ascend.io
Ascend 是一家位于帕洛阿尔托的初创公司,为大型数据集提供解决方案 分析。他们的口号是:大数据很难。我们化繁为简。
Beeswax
Beeswax 是一家位于纽约的初创公司,提供实时出价服务。Bazel 为他们基于 Jenkins 的持续集成和部署提供支持 框架。Beeswax 非常喜欢 Bazel,因为 Bazel 速度快、准确、出色 支持多种语言和平台
Braintree
Braintree 是 PayPal 的子公司,专为网站和应用开发支付解决方案。他们在内部构建的部分使用 Bazel,Paul Gross 甚至发布了一篇关于他们如何改用 Bazel 的优质文章。
Canva
Canva 利用 Bazel 管理其庞大的多语言代码库,其中包括 Java、TypeScript、Scala、Python 等。迁移到 Bazel 显著提高开发者和计算基础架构的效率,例如 5-6 倍 CI 构建时间平均缩短,并且 CI 将继续成为基础 实现快速、可重现的标准化软件构建。
CarGurus
CarGurus 的使命是打造全球最值得信赖且最透明的汽车市场,并使用 Bazel 构建其多语言单仓库。
罗盘
Compass 是一个以技术为驱动的房地产平台。我们拥有由房地产、技术和商务专业人士组成的精英团队,致力于成为购房者的最佳且最值得信赖的信息来源。
Databricks
Databricks 提供基于 Apache Spark™ 的云端集成工作区。
Databricks 代码库是一个单一代码库,包含为大多数服务提供支持的 Scala 代码、用于前端界面的 JavaScript、用于脚本编写的 Python、用于配置基础架构的 Jsonnet 等 [...] 尽管我们的单一代码库包含 100 万行 Scala 代码,但处理其中的代码非常快速。 (Databricks 使用 Bazel 快速构建 Scala)
Dataform
Dataform 可为数据团队提供可扩缩的分析功能。他们维护着 将 NPM 软件包和文档网站整合到单个 monorepo 中,这一切都由他们完成 调试项目。
迁移到 Bazel 后,他们获得了诸多好处,包括:
- CI 速度更快:我们启用了远程 build 缓存,这将整个代码库的平均构建时间从 30 分钟缩短到了 5 分钟。
- 本地开发改进:不会再有忘记运行的随机 bash 脚本,增量构建时间从几分钟缩短至几秒钟
- 开发者设置时间:新工程师只需 3 个依赖项(bazel、docker 和 JVM)即可构建所有代码。最后一位加入我们团队的工程师在 <在一台全新的空笔记本电脑上 30 分钟
Deep Silver FISHLABS
Deep Silver FISHLABS 是一家高端 3D 游戏开发商。他们将 Bazel 与 C++/Python/Go/C 搭配使用,作为内部构建工具的基础,尤其是用于烘焙和部署所有 3D 素材资源。
Dropbox
在 Dropbox,Bazel 是我们分布式构建和测试环境的关键组件。我们使用 Bazel 将 TypeScript/Python/Go/C/Rust 整合为可靠的 正式版。
Engel 和民众
Engel 和Völkers AG 是一家德国私营公司,通过一系列 特许经营办事处,提供房地产交易相关服务。
在我们的一个内部项目中,编译时间从 11 月 1 分钟到 1 分钟左右 这是一个相当了不起的成就 我目前正在努力为更多项目引入 Bazel。 (试用 Google Cloud Build 和 Bazel)
Etsy
Etsy 是一个电子商务网站,主营手工或复古商品和用品。 以及独特的工厂制造的商品
他们使用 Bazel 构建和测试其基于 Java 的搜索平台。Bazel 会为裸机服务器和可重复的 Docker 映像生成软件包。
Evertz.io
Evertz.io 是一个多租户、无服务器 SaaS 平台,由 Evertz Microsystems 打造,可面向全球广播媒体行业提供经济高效的多区域服务。
该网站已通过 Angular 和 Bazel 工作流全面构建和部署 (来源)。
FINDMINE
FINDMINE 是一项面向零售业的自动化技术,可利用机器学习来扩展目前手动且繁琐的商品挑选流程。我们使用 Bazel 来实现整个 Python 软件包构建、测试和部署流程的自动化。
Flexport
Flexport 是一家技术型全球货运代理公司;我们的使命是 让全球贸易变得更轻松在 Flexport,我们使用 Bazel 构建/测试 Java/JavaScript 服务和客户端库,并根据 protobuf 定义生成 Java 和 Ruby 代码。了解如何使用 Bazel 单独运行 JUnit 5 测试。
Bazel 的设计旨在能够扩展到满足 Google 需求的规模,并满足 Google 对可重现性和平台/语言支持的要求。所有软件 Google 是使用 Bazel 构建的。Google 使用 Bazel 及其规则管理数以百万计的 构建的应用。
GRAKN.AI
Grakn 是一种数据库技术,可作为 智能系统Grakn 让智能系统能够解释复杂的 作为可进行逻辑推理的单个知识正文。 Bazel 让 @graknlabs 团队能够构建高度编排的 CI, 分发流水线,该流水线可管理多个存储库。 并且可以无缝部署到众多平台
华为
华为技术在大约 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
Just 是一家总部位于挪威的企业金融科技公司,致力于打造软件解决方案,从根本上改变全球企业财务主管管理风险和流动性的方式。他们的整个应用堆栈都是使用 Bazel 构建的。
Kitty Hawk Corporation
Kitty Hawk Corporation 是一家美国飞机制造商 电动飞机他们将 Bazel 与 Haskell 和 Scala 规则搭配使用。
Line
Line 是一款即时通讯应用,是日本最受欢迎的即时通讯应用。他们在代码库(大约 60% Swift 和 40%)中使用 Bazel C/C++/Objective-C/Objective-C++ (来源)。
改用 Bazel 后,我们能够显著缩短构建时间。这显著缩短了质量检查周期。向测试人员分发新 build 不再意味着需要再等待一小时才能完成构建和测试。(使用 Bazel 提升 LINE for iOS 的构建性能)
LingoChamp
LingoChamp 为英语学习者提供专业解决方案。我们使用 Bazel 使用 Java 和 Python 项目
LinkedIn 是微软的子公司,是全球最大的职业社交网络。LinkedIn 使用 Bazel 构建 iOS 应用。
Lucid Software
Lucid Software 是视觉协作领域的领头羊,可帮助团队查看和构建 将未来从创意变成现实旗下产品 Lucidchart、 Lucidspark 和 Lucidscale - 团队 可以围绕共同愿景保持一致,阐明复杂性,并进行视觉协作, 无论用户身在何处
Lucid 使用 Bazel 构建了数百万行 Scala 和 TypeScript。 迁移到 Bazel 大大加快了构建速度,减少了外部 构建环境依赖项,并简化开发者体验 与构建系统配合使用Bazel 提高了 Lucid 的开发者工作效率,并为进一步增长打开了局面。
Lyft
Lyft 将 Bazel 用于其 iOS(来源)和 Android 应用。
Makani
Makani 现已成为 Google 的子公司,该公司开发风筝发电装置,并使用 Bazel 构建其软件(包括嵌入式 C++ 软件)。
聚会
Meetup 是为线下群组提供便利的在线社交网络门户 会议。 Meetup 工程团队为 rules_scala 做出了贡献,并负责维护 rules_avro 和 rules_openapi。
Nvidia
Nvidia 一直使用 dazel(docker bazel) for python 解决 其他的都是普通的贝果 (主要是 Go / Scala/ C++/ Cuda) (来源)
Peloton 技术
Peloton Technology 是一家自动驾驶车辆技术公司,致力于解决卡车事故和燃料消耗问题。他们使用 Bazel 为汽车应用实现可靠的构建 安全系统。
Pinterest 汇集了全世界的创意灵感。他们使用 Bazel 构建各种 后端服务 (Java/C++) 和 iOS 应用 (Objective-C/C++)。
我们发现 Bazel 最适合我们的目标, 将效果提升一个数量级,消除了 构建环境并逐步采用。因此,我们现在 使用 Bazel 构建 iOS 版本 快速发展且Pinterest 发布可靠 iOS build
PubRef
PubRef 是一个新兴的科学出版平台。他们将 Bazel 与 rules_closure 以构建 frontend,构建主后端的原生 Java 规则, rules_go, rules_node 和 rules_kotlin 用于构建各类 后端服务rules_protobuf 是 用于协助后端服务之间基于 gRPC 的通信。 PubRef.org 位于科罗拉多州博尔德。
Redfin
Redfin 是一家新一代房地产经纪公司,提供全方位的本地服务 。他们使用 Bazel 构建和部署网站以及各种后端服务。
由于转化主要发生在我们之后,因此效果有了很大的改善!我们的 CI 构建速度更快(大幅提升:过去需要 40-90 分钟,现在开发 (平均 5-6 分钟)构建完成。而且可靠性也要高得多。这点较难 但从不明原因的构建失败转变为 “刚发生的事情”被视作有待解决的真正问题,这使我们 持续提升的良性循环。 (我们从 Maven 改用 Bazel,构建速度提高了 10 倍)
仪式感
Ritual 是一款移动取餐应用,可为餐馆和顾客建立联系提供便利 一款简单、省时的工具,可让您获得想要的食品和饮料,而无需 等等。Ritual 将 Bazel 用于其后端服务。
贴靠
Snapchat 即时通讯应用的开发者 Snap 已从 Buck 迁移至 Bazel (来源)。如需详细了解该团队的流程,请参阅其工程博客。
Stripe
Stripe 提供移动付款解决方案。他们是 Bazel Scala 规则。
Tinder
Tinder 在 2021 年将其 iOS 应用从 CocoaPods 迁移到了 Bazel(来源)。
廷克
Tink 是一家欧洲金融科技公司,致力于打造与欧洲各大银行建立联系的最佳方式。
他们使用 Bazel 从多语言单仓库构建后端服务。Tink 的工程师正在组织 bazel build //stockholm/... 聚会小组。
Tokopedia
Tokopedia 是一家专门从事电子商务的印度尼西亚科技公司,该平台的月活跃用户数超过 9000 万,入驻商家数超过 700 万。
他们撰写了Tokopedia 如何将 iOS 构建时间缩短了 1000%一文,介绍了 Bazel 如何加快构建速度。使用 Bazel 后,构建时长从 55 分钟缩短到了 10 分钟,再加上远程缓存,时长缩短到了 5 分钟。
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 Remote Build Execution 运行时,干净 build 速度提高了约 5 倍。该工具在将 build/test 操作分派给工作器农场时,会利用 bazel 强大的 build/test 并行处理功能。平均构建时间更长 由于使用了 bazel 的激进缓存,运行速度提高了 10 倍以上 机制。 (从 Maven 或 Gradle 迁移到 Bazel?您应该问自己的 5 个关键问题)
Zenly
Zenly 是亲友的实时地图,以最有趣的方式相聚 或者只是看看有什么更新!— 这样即使天各一方,也能有归属感。
使用 Bazel 的开源项目
Abseil
Abseil 是一个开源的 C++ 代码集合(符合 C++11 标准),旨在增强 C++ 标准库。
Angular
Angular 是一款广受欢迎的 Web 框架。Angular 是使用 Bazel 构建的。
Apollo
Apollo 是一款高性能、灵活的架构,可加快自动驾驶车辆的开发、测试和部署速度。
brpc
整个百度使用的工业级 RPC 框架, 和数千种服务,称为 “baidu-rpc”内部 IP 地址
cert-manager
cert-manager 是一个 Kubernetes 插件,用于自动管理和颁发来自各种颁发来源的 TLS 证书。这样可以确保证书 定期更新有效信息,并尝试以 在到期前的适当时间生效。
CallBuilder
这是一个 Java 代码生成器,可让您通过编写一个函数来创建构建器。
CPPItertools
C++ 库,提供受 Python 启发且基于范围的 for 循环插件 内置和迭代工具库的功能。与 itertools 和 Python3 内置函数一样, 库尽可能使用延迟评估。
Copybara
Copybara 是一种在仓库之间转换和移动代码的工具。
Dagger
Dagger 是一个适用于 Java 和 Android 的完全静态编译时依赖项注入框架。
DAML
DAML 是一种智能合同语言,用于构建面向未来的分布式 在注重隐私保护的安全运行时上运行应用。
DeepMind Lab
一个可自定义的 3D 平台,适用于基于代理的 AI 研究。
Drake
Drake 是一个 C++ 工具箱,最初来自麻省理工学院,现由丰田研究院领导 研究所。这是一个工具集,用于分析机器人的动力学特性并为其构建控制系统,重点是基于优化的设计/分析。
Envoy
C++ L7 代理和通信总线
容易出错
将常见的 Java 错误作为编译时错误捕获。(迁移到 Bazel 的 progress.)
Extensible Service Proxy
可扩展服务代理(也称为 ESP)是一种用于启用 API 管理的代理 支持 JSON/REST 或 gRPC API 服务。目前的实现是 基于 NGINX HTTP 反向代理服务器
FFruit
FFruit 是一款免费应用,热门服务的开源 Android 应用 Falling Fruit。
Gerrit 代码审核
Gerrit 是一款代码审核和项目管理工具,适用于基于 Git 的项目。
十字架
Gitiles 是面向 Git 代码库的简单代码库浏览器,基于 JGit 构建而成。
Grakn
Grakn (https://grakn.ai/) 是一种知识图谱引擎,用于整理复杂的数据网络并使其可查询。
GRPC
一种与语言和平台无关的远程过程调用系统。(Bazel 是一个受支持的构建系统,但不是主要的构建系统。)
gVisor
gVisor 是一个容器运行时沙盒。
Guetzli
Guetzli 是一种 JPEG 编码器,旨在以高视觉质量实现出色的压缩密度。
古拉瓦
Java 代码生成器,可让您编写和使用 Prolog 样式的谓词 无缝衔接。
Heron
Heron 是一个实时、分布式、容错的流处理引擎, Twitter。
Jazzer
Jazzer 是适用于 Java 和其他与 JUnit 5 集成的基于 JVM 的模糊测试工具。
JGit
JGit 是一个轻量级的纯 Java 库,用于实现 Git 版本控制, 系统。
Jsonnet
一种优雅的、正式指定的 JSON 配置生成语言。 (Bazel 是受支持的构建系统。)
Kubernetes
Kubernetes 是一个开源系统,用于跨多个主机管理容器化应用,为应用的部署、维护和扩缩提供基本机制。
Kythe
用于构建可与代码搭配使用的工具的生态系统。
Nomulus
Google App Engine 上的顶级域名注册服务。
ONOS:开放网络操作系统
ONOS 是唯一支持从 Android 设备 从传统“棕地”网络到 SDN“绿野”网络。这样一来, 令人兴奋的新功能,以及颠覆性的部署和运营成本点 网络运营商
适用于 Java 的 PetitParser
通常,编程语言的语法是以静态方式指定的。 由于不可避免地会出现歧义,因此很难组合和重复使用。PetitParser 将无扫描解析、解析器组合器、 用于解析表达式语法和 packrat 解析器,以建模语法和解析器 用作可动态重新配置的对象。
PlaidML
PlaidML 是一个使深度学习无处不在的框架。
Project V
Project V 是一套工具,有助于你构建自己的隐私网络, 。
Prysmatic Labs 以太坊 2.0 为实现平台的测试
Prysm 是 Ethereum 2.0 的分片客户端,Ethereum 2.0 是基于区块链的分布式 计算平台
Ray
Ray 是一个灵活、高性能的分布式执行框架。
弹性
Resty 是一个适用于 Go 的简单 HTTP 和 REST 客户端库(灵感来自 Ruby rest-client)。
粗略时效
Roughtime 是一个旨在提供安全时间同步的项目。
Selenium
Selenium 是一个用于测试 Web 应用的可移植框架。
语义
Semantic 是一个 Haskell 库和命令行工具,用于解析、分析和比较源代码。它由 GitHub 开发(用于 代码导航)。
已投放
Served 是一个用于构建高性能 RESTful Web 服务器的 C++ 库。
Sonnet
Sonnet 是基于 TensorFlow 构建的库,用于构建复杂的神经网络。
雪糕
Sorbet 是 Ruby 子集的快速且强大的类型检查工具。可扩容到 包含数百万行代码的代码库,并且可以逐步采用。
Spotify
Spotify 使用 Bazel 构建 iOS 和 Android 应用(源代码)。
Tink
Tink 是一个多语言、跨平台的开源库, 安全、易于使用、 滥用行为。
TensorFlow
一个面向机器智能领域的开源软件库。
Turbo Santa
一个独立于平台的 GameBoy 模拟器。
Wycheproof
Project Wycheproof 针对已知攻击测试加密库。
XIOSim
XIOSim 是 x86 架构的详细用户模式微架构模拟器。
ZhihuDailyPurify
ZhihuDailyPurify 是中国版知乎日报的轻量版 问答网络。