谁在使用 Bazel

报告问题 查看源代码 每夜 build · 7.4 . 7.3 · 7.2 · 7.1敬上 · 7.0 · 6.5

本页列出了已知使用 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 测试。

Google

Bazel 的设计旨在能够扩展到满足 Google 需求的规模,并满足 Google 对可重现性和平台/语言支持的要求。所有软件 Google 是使用 Bazel 构建的。Google 使用 Bazel 及其规则管理数以百万计的 构建的应用。

GRAKN.AI

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 是微软的子公司,是全球最大的职业社交网络。LinkedIn 使用 Bazel 构建 iOS 应用。

Lucid Software

Lucid Software 是视觉协作领域的领头羊,可帮助团队查看和构建 将未来从创意变成现实旗下产品 LucidchartLucidsparkLucidscale - 团队 可以围绕共同愿景保持一致,阐明复杂性,并进行视觉协作, 无论用户身在何处

Lucid 使用 Bazel 构建了数百万行 Scala 和 TypeScript。 迁移到 Bazel 大大加快了构建速度,减少了外部 构建环境依赖项,并简化开发者体验 与构建系统配合使用Bazel 提高了 Lucid 的开发者工作效率,并为进一步增长打开了局面。

Lyft

Lyft 将 Bazel 用于其 iOS(来源)和 Android 应用。

Makani

Makani 现已成为 Google 的子公司,该公司开发风筝发电装置,并使用 Bazel 构建其软件(包括嵌入式 C++ 软件)。

聚会

Meetup 是为线下群组提供便利的在线社交网络门户 会议。 Meetup 工程团队为 rules_scala 做出了贡献,并负责维护 rules_avrorules_openapi

Nvidia

Nvidia 一直使用 dazel(docker bazel) for python 解决 其他的都是普通的贝果 (主要是 Go / Scala/ C++/ Cuda) (来源

Peloton 技术

Peloton Technology 是一家自动驾驶车辆技术公司,致力于解决卡车事故和燃料消耗问题。他们使用 Bazel 为汽车应用实现可靠的构建 安全系统

Pinterest

Pinterest 汇集了全世界的创意灵感。他们使用 Bazel 构建各种 后端服务 (Java/C++) 和 iOS 应用 (Objective-C/C++)。

我们发现 Bazel 最适合我们的目标, 将效果提升一个数量级,消除了 构建环境并逐步采用。因此,我们现在 使用 Bazel 构建 iOS 版本 快速发展且Pinterest 发布可靠 iOS build

PubRef

PubRef 是一个新兴的科学出版平台。他们将 Bazel 与 rules_closure 以构建 frontend,构建主后端的原生 Java 规则, rules_go, rules_noderules_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

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 是中国版知乎日报的轻量版 问答网络。