谁在使用 Bazel

报告问题 查看来源 每晚 · 7.4。 ,了解所有最新动态。 7.3 · 7.2 · 7.1 · 7.0 · 6.5

本页面列出了已知会使用 Bazel 的公司和 OSS 项目。 这并不构成对其的认可。

使用 Bazel 的公司

acqio

Acqio 是一家金融技术公司,为小型企业和 中等规模的商家。Acqio 拥有少量 monorepo,并使用 Bazel, Kubernetes 提供快速可靠的微服务。

Adobe

Adobe 已经发布了 Bazel 规则, GitOps 驱动的持续 Kubernetes 部署。

Asana

Asana 是一款 Web 和移动应用,旨在帮助团队跟踪其工作。 来源网站原文引述:

Bazel 提高了 Asana 的所有 build/测试的可靠性、稳定性和速度。由于缓存不正确,我们不再需要进行清理。

Ascend.io

Ascend 是一家位于帕洛阿尔托的初创公司,为大型数据集提供解决方案 分析。他们的口号是:大数据很难。我们化繁为简

ASML

ASML 是半导体行业的创新领导者。我们为芯片制造商提供所需的一切资源(硬件、软件和服务),以便他们通过光刻技术在硅片上批量生产图案。

蜂蜡

Beeswax 是一家位于纽约的初创公司,提供实时出价服务, 服务。Bazel 为他们基于 Jenkins 的持续集成和部署提供支持 框架。Beeswax 非常喜欢 Bazel,因为它速度极快、准确无误,并且在多种语言和平台上都得到了良好的支持。

Braintree

Braintree 是 PayPal 的子公司, 应用。他们使用 Bazel 进行内部构建的部分工作,Paul Gross 也 甚至发布了一个 关于改用 Bazel 的成功信息

Canva

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

CarGurus

CarGurus 的使命是打造全球最可信、最透明 并使用 Bazel 构建其多语言 monorepo。

罗盘

Compass 是一个以技术为驱动的房地产平台。配备一支由真人精英组成的团队 房地产、技术和商业专业人士是我们的宗旨, 为寻找房客提供值得信赖的信息来源。

Databricks

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

Databricks 代码库是一个 Monorepo,其中包含为 我们的大部分服务,JavaScript 前端界面,Python 编写脚本, Jsonnet 来配置我们的基础设施,等等 [...] 尽管我们的 monorepo 包含 100 万行 Scala,其中的代码处理速度非常快 简洁明快 (在 Databricks 中使用 Bazel 实现快速 Scala 构建

Dataform

Dataform 可为数据团队提供可扩缩的分析功能。他们在单个单仓库中维护一些 NPM 软件包和一个文档网站,并且所有这些工作都是使用 Bazel 完成的。

迁移到 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 & 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

FINDMINE 是面向零售业的自动化技术, 学习如何大规模推行当前繁琐的手动商品挑选流程。 我们使用 Bazel 来实现整个 Python 软件包构建、测试和部署流程的自动化。

Flexport

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

Foursquare

Foursquare 的使命是利用技术在数字空间和实体空间之间建立有意义的桥梁。我们管理着 主要支持 Scala 和 Python 代码的代码行,为数据密集型提供支持 包括复杂的代码生成和容器构建流程, Bazel。

GermanTechJobs

Bazel 将我们的工作流程简化为 10 倍,并在 。

Google

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

华为

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

IMC Trading

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

Improbable.io

Improbable.io 开发了 SpatialOS,这是一个分布式操作系统,可用于创建包含数百万个复杂实体的大型模拟。

Interaxon

InteraXon 是一家脑电控制计算公司,致力于打造硬件和软件平台,将脑电波转换为数字信号。

木星

Jupiter 是一家提供杂货配送服务和家居用品的公司 必备应用。

他们在后端代码中使用 Bazel,尤其是为了编译 proto 和 Kotlin JVM 二进制文件,支持使用远程缓存。 (来源

只需要

Just 是一家总部位于挪威的企业金融科技公司,致力于打造软件解决方案,从根本上改变全球企业财务主管管理风险和流动性的方式。他们的整个应用堆栈都是使用 Bazel 构建的。

Line

Line 提供了一款即时通信应用,该应用最受欢迎的 。 他们在代码库中使用 Bazel,该代码库约为 60% 的 Swift 和 40% 的 C/C++/Objective-C/Objective-C++(来源)。

改用 Bazel 后, 构建时间。这大幅缩短了周转时间 测试期间向测试人员分发新 build 不再意味着需要再等待一小时才能完成构建和测试。(使用 Bazel 提升 LINE for iOS 的构建性能

LingoChamp

LingoChamp 为英语学习者提供专业解决方案。我们使用 Bazel 使用 Java 和 Python 项目

LinkedIn

LinkedIn 是 Microsoft 的子公司,是全球最大的职业社交平台 。LinkedIn 使用 Bazel 来构建自己的 iOS 应用。

Lucid Software

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

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

Lyft

Lyft 在其 iOS(源代码)和 Android 应用中使用 Bazel。

Meetup

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

Nvidia

在 Nvidia,我们一直在使用 dazel(docker bazel) 来解决 bazel 的某些 Python 缺点。其他的都是普通的贝果 (主要是 Go / Scala/ C++/ Cuda) (来源

Peloton 技术

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

猪草

Pigweed 是一个开源解决方案,可帮助大型团队持续、稳健且快速地开发嵌入式产品。Pigweed 已搭载数以百万计的设备,包括 Google 的 Pixel 设备套件、Nest 温控器、卫星无人机

Pigweed 使用 Bazel 作为其主构建 system适用于嵌入式设备的 Bazel 博文介绍了我们为何认为 Bazel 是适合嵌入式项目的绝佳构建系统!

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

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

由于转化主要发生在我们之后,因此效果有了很大的改善!我们的 CI 构建速度更快(大幅提升:过去需要 40-90 分钟,现在开发 (平均 5-6 分钟)构建完成。可靠性也要高得多。这很难量化,但从将无法解释的构建失败视为“只是偶然发生”的现象,转变为将其视为需要解决的实际问题,这让我们进入了一个可靠性不断提升的良性循环。(我们从 Maven 改为使用 Bazel,构建速度提高了 10 倍

仪式

Ritual 是一款移动取餐应用,可为餐馆和顾客建立联系提供便利 一款简单、省时的工具,可让您获得想要的食品和饮料,而无需 等等。Ritual 将 Bazel 用于其后端服务。

贴靠

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

Stripe

Stripe 提供移动付款解决方案。他们在构建和测试流水线中使用了 Bazel,详见其工程博客

Tinder

Tinder 在 2021 年将其 iOS 应用从 CocoaPods 迁移到了 Bazel(来源)。

Tink

Tink 是一家欧洲金融科技公司,致力于打造与欧洲各大银行建立联系的最佳方式。

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

Tokopedia

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

他们撰写了Tokopedia 如何将 iOS 构建时间缩短了 1000%一文,介绍了 Bazel 如何加快构建速度。构建时长原为 使用 Bazel 需要 55 到 10 分钟,使用远程 缓存。

Trunk.io

Trunk 是一家总部位于旧金山的公司,由 Andreessen Horowitz 和 Initialized Capital 负责投资。Trunk 提供强大的拉取请求合并服务,并为 Bazel 构建系统提供一流的支持。利用 Bazel 对代码库依赖项的理解,Trunk 的合并服务可智能地创建并行合并通道,允许同时测试和合并独立的更改。

Trunk 的内部 monorepo 能够构建现代 C++ 20 和 Typescript,同时利用 bazel 图知识选择性地测试和合并代码。

Twitter

Twitter 已决定从 Pants 迁移到 Bazel, 构建工具 (来源)。

双西格玛

Two Sigma 是一家总部位于纽约的科技公司,致力于从全球数据中发掘价值。

TypeDB

TypeDB 徽标

TypeDB 是一种数据库技术,可用于直观地对相互关联的数据进行建模。通过其类型理论和多态查询语言, TypeQL 后,可以通过在 光速

Bazel 让 TypeDB 团队能够构建高度编排的 CI 和分发 用于管理各种语言的多个代码库的流水线,以及 可以无缝部署到众多平台TypeDB 团队还发布了用于组装和部署软件发行版的 Bazel 规则。

优步

Uber 是一家叫车公司。拥有 900 名活跃开发者,Uber 的 Go monorepo 很可能是使用 Bazel 的最大 Go 代码库之一。参阅文章 使用 Bazel 构建 Uber 的 Go Monorepo 来详细了解他们的体验。

优步先进技术集团

Uber 先进技术团队专注于 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

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

Angular

Angular 是一款广受欢迎的 Web 框架。Angular 是使用 Bazel 构建的

Apollo

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

brpc

一种在百度内部使用的工业级 RPC 框架,具有 100 万多个实例(不包括客户端)和数千种服务,在百度内部称为“baidu-rpc”。

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

Gitiles 是一个基于 JGit 的 Git 代码库简单浏览器。

Grakn

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

GRPC

一种与语言和平台无关的远程过程调用系统。(Bazel 是一个受支持的构建系统,但不是主要的构建系统。)

gVisor

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

Guetzli

Guetzli 是一种 JPEG 编码器,旨在实现出色的压缩密度和 视觉质量

Gulava

Java 代码生成器,可让您编写和使用 Prolog 样式的谓词 无缝衔接。

Heron

Heron 是 Twitter 推出的实时分布式容错流处理引擎。

Internet 计算机协议

Internet Computer Protocol 是一个公开可用的区块链网络,支持复制执行通用计算,为数十万个应用及其用户提供服务。

Jazzer

Jazzer 是一款适用于 Java 和其他基于 JVM 的语言的模糊测试工具,可与 JUnit 5 集成。

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 是一套工具,有助于你构建自己的隐私网络, 。

Prysmatic Labs 以太坊 2.0 实现

Prysm 是适用于以太坊 2.0(一种基于区块链的分布式计算平台)的分片客户端。

Ray

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

弹性

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

Roughtime

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

Selenium

Selenium 是一个用于测试 Web 应用的可移植框架。

语义

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

已投放

Served 是一个用于构建高性能 RESTful Web 服务器的 C++ 库。

十四行诗

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

雪糕

Sorbet 是 Ruby 子集的快速且强大的类型检查工具。可扩容到 包含数百万行代码的代码库,并且可以逐步采用。

Spotify

Spotify 使用 Bazel 构建 iOS 和 Android 应用(来源)。

廷克

Tink 是一个多语言、跨平台的开源库, 安全、易于使用、 滥用行为。

TensorFlow

面向机器智能的开源软件库。

Turbo Santa

独立于平台的 GameBoy 模拟器。

Wycheproof

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

XIOSim

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

ZhihuDailyPurify

ZhihuDailyPurify 是 Zhihu Daily(中国问答网站)的轻量版。