本頁面列出已知使用 Bazel 的公司和 OSS 專案。這並不代表 Google 認可。
使用 Bazel 的公司
acqio
Acqio 是一家金融科技公司,為中小型商家提供付款產品和服務。Acqio 有幾個單一版本存放區,並使用 Bazel 搭配 Kubernetes 提供快速可靠的微服務。
Adobe
Adobe 已發布 Bazel 規則,可用於持續性、由 GitOps 驅動的 Kubernetes 部署作業。
Asana
Asana 是一款網路與行動應用程式,可協助團隊追蹤工作進度。網站提供的說明內容:
Bazel 提高了 Asana 所有建構/測試的可靠性、穩定性和速度。我們不必再因為快取了不正確,所以不再需要清除。
Ascend.io
Ascend 是一家位於帕洛阿托的初創公司,提供大型資料集分析解決方案。他們的座右銘是「大數據很難,做法非常簡單。
Beeswax
Beeswax 是一家位於紐約的新創公司,提供即時出價服務。Bazel 支援以 Jenkins 為基礎的持續整合和部署架構。Beeswax 很喜歡 Bazel,因為它速度極快、正確無誤,且支援多種語言和平台。
Braintree
PayPal 子公司 Braintree 專門開發網站和應用程式的付款解決方案。他們使用 Bazel 建構部分內部版本,Paul Gross 甚至發布了一篇精彩文章,說明他們如何改用 Bazel。
畫布
Canva 利用 Bazel 管理龐大的多語言程式碼庫,包括 Java、TypeScript、Scala、Python 等。遷移至 Bazel 後,開發人員和運算基礎架構的效率大幅提升,例如 CI 建構作業的平均時間減少了 5 到 6 倍,並持續成為公司快速、可重現且標準化的軟體建構作業的基礎。
CarGurus
CarGurus 的使命是打造全球最值得信賴且最透明的汽車市場,並使用 Bazel 建構多語言單一版本儲存庫。
指南針
Compass 是一個以科技為主導的房地產平台。我們擁有一支由房地產、科技和商業專業人士組成的頂尖團隊,致力於成為房屋尋找者最值得信賴的最佳資訊來源。
Databricks
Databricks 提供以 Apache Spark™ 為基礎的雲端整合工作區。
Databricks 程式碼基底是 Monorepo,其中包含用於支援我們大部分服務的 Scala 程式碼、用於前端 UI 的 JavaScript、用於指令碼的 Python、用於設定基礎架構的 Jsonnet,以及更多內容 [...] 雖然 Monorepo 包含數百萬行的 Scala,但使用其中的程式碼仍能快速且流暢地運作。(使用 Databricks 的 Bazel 加快 Scala 建構作業)
Dataform
Dataform 可為資料團隊提供可擴充的分析功能。他們在單一 monorepo 中維護少數 npm 套件和說明文件網站,並使用 Bazel 執行所有操作。
遷移至 Bazel 後,他們發現許多優點,包括:
- 加快 CI 速度:我們啟用了遠端建構快取功能,因此整個存放區的平均建構時間從 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 是由 Evertz Microsystems 建立的多租戶無伺服器 SaaS 平台,可為廣播媒體產業提供全球多區域服務,且價格實惠。
網站完全使用 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 和發布管道,以便管理多種語言的多個存放區,並順利部署至多個平台。
Huawei
華為技術在約 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,特別是使用遠端快取功能,將 Protobuf 和 Kotlin 編譯為 JVM 二進位檔。(資料來源)
Just
Just 是一家總部位於挪威的企業金融科技公司,致力於開發軟體解決方案,協助全球企業財務人員改變風險和流動性管理方式。他們的整個應用程式堆疊都是使用 Bazel 建構。
Kitty Hawk Corporation
The Kitty Hawk Corporation 是一家生產電飛機的美國飛機製造商。他們使用 Bazel 搭配 Haskell 和 Scala 規則。
Line
Line 提供即時通訊應用程式,是日本最受歡迎的訊息應用程式。他們在程式碼集 (約 60% Swift 和 40% C/C++/Objective-C/Objective-C++) 中使用 Bazel (來源)。
改用 Bazel 後,我們發現建構時間大幅縮短。這項做法大幅改善了品質保證期間的回應時間。將新版本發布給測試人員時,不再需要等待另一個小時的建構和測試時間。(使用 Bazel 改善 LINE for iOS 的建構效能)
LingoChamp
LingoChamp 為英語學習者提供專業解決方案。我們使用 Bazel 建構 go、Java 和 Python 專案。
LinkedIn 是 Microsoft 的子公司,也是全球最大的專業人士社交網路。LinkedIn 使用 Bazel 建構 iOS 應用程式。
Lucid Software
Lucid Software 是視覺協作領域的領導者,可協助團隊將構想轉化為實際成果,並打造未來。透過 Lucidchart、Lucidspark 和 Lucidscale 等產品,團隊成員無論身在何處,都能圍繞共同願景進行協調、釐清複雜問題,並以視覺化方式進行協作。Lucidchart
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) 來處理 Python 的部分 Bazel 缺點。所有其他項目在一般 bazel 中執行 (大部分為 Go / Scala/ C++/ Cuda) (來源)
Peloton Technology
Peloton Technology 是一家自動駕駛技術公司,致力解決卡車事故和燃料使用問題。他們使用 Bazel 為汽車安全系統啟用可靠的建構作業。
Pinterest 是全球的靈感目錄,這些專案會使用 Bazel 建構各種後端服務 (Java/C++) 和 iOS 應用程式 (Objective-C/C++)。
我們認為 Bazel 最符合我們的目標,可建立基礎,讓效能大幅提升、消除建構環境中的變異性,並逐步採用。因此,現在要使用 Bazel 傳送所有 iOS 版本在 Pinterest 開發快速可靠的 iOS 版本
PubRef
PubRef 是新興的科學出版平台。他們使用 Bazel 搭配 rules_closure 建構前端,使用原生 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 是一款行動提貨應用程式,可將餐廳與顧客連結,提供簡單又省時的工具,讓顧客不必等待就能取得所需的餐點和飲料。Ritual 會在後端服務中使用 Bazel。
Snap
Snapchat 訊息應用程式的開發人員 Snap 已在 2020 年從 Buck 遷移至 Bazel (資料來源)。如要進一步瞭解相關程序,請參閱他們的工程網誌。
Stripe
Stripe 提供行動支付解決方案。他們是 Bazel Scala 規則的主要維護者。
Tinder
Tinder 在 2021 年將 iOS 應用程式從 CocoaPods 遷移至 Bazel (來源)。
Tink
Tink 是歐洲金融科技公司,致力打造連結歐洲各大銀行的最佳方式。
他們使用 Bazel 從 Polyglot 單聲道存放區建構後端服務。Tink 的工程師正在組織 bazel build //stockholm/... 聚會群組。
Tokopedia
Tokopedia 是一家專門從事電商的印尼科技公司,每月活躍使用者超過 9, 000 萬人,平台上有超過 700 萬家商家。
他們撰寫了「Tokopedia 如何將 iOS 建構時間縮短 1000%」一文,說明 Bazel 如何加快建構作業。使用 Bazel 後,建構時間從 55 分鐘縮短為 10 分鐘,再加上遠端快取功能,更縮短至 5 分鐘。
Twitter 已決定從「褲子」遷移至 Bazel 做為主要建構工具 (來源)。
Two Sigma
Two Sigma 是一家總部位於紐約的科技公司,致力於從全球資料中找出價值。
Uber
Uber 是叫車服務公司,Uber 的 Go 單聲道存放區有 900 位活躍的開發人員,可能是使用 Bazel 數量最大的 Go 存放區之一。如要進一步瞭解他們的經驗,請參閱「使用 Bazel 建構 Uber 的 Go 單一版本儲存庫」一文。
Uber Advanced Technologies Group
Uber Advanced Technologies Group 關注 Uber 的自動駕駛車輛,包括卡車/貨運和自動駕駛共乘。該機構使用 Bazel 做為主要建構系統。
Vistar Media
Vistar Media 是一個廣告平台,可讓品牌根據消費者在現實生活中的行為觸及他們。他們的工程團隊主要位於費城,並使用 Bazel 進行建構和部署作業,以便加快測試速度,並整合使用各種不同技術編寫的存放區。
VMware
VMware 會使用 Bazel 產生確定性可靠的建構作業,同時為客戶開發創新產品。
Wix
Wix 是雲端式網頁開發平台。後端使用 Java 和 Scala 程式碼。這些工作流程會使用 Google Cloud Build 的遠端執行功能。
我們發現,使用 bazel 遠端執行功能執行時,清除建構作業的速度可加快約 5 倍,因為這項功能會將建構/測試動作分派至 worker 農場,並利用 bazel 的優異建構/測試平行處理功能。由於 bazel 的主動式快取機制使用率高,因此平均建構時間縮短超過 10 倍。(從 Maven 或 Gradle 遷移至 Bazel?5 個你必須問自己的關鍵問題)
Zenly
Zenly 是一張顯示親友即時位置的地圖。這是最有趣的相見方式,或單純觀看最新內容!即使分隔兩地,也能感受到彼此的存在。
使用 Bazel 的開放原始碼專案
Abseil
Abseil 是開放原始碼的 C++ 程式碼集合 (符合 C++11 標準),旨在擴充 C++ 標準程式庫。
Angular
Angular 是熱門的網路架構。Angular 是使用 Bazel 建構。
Apollo
Apollo 是一項高效且彈性的架構,可加快自動駕駛車輛的開發、測試和部署作業。
bRPC
百度內使用的工業級 RPC 架構,有 1,000,000 個以上的例項(不含用戶端) 和數千種服務,在百度內稱為「baidu-rpc」。
cert-manager
cert-manager 是 Kubernetes 的外掛程式,可自動管理和核發不同核發來源的傳輸層安全標準 (TLS) 憑證。這項服務會定期確保憑證有效且為最新版本,並在到期前適當時間嘗試更新憑證。
CallBuilder
Java 程式碼產生器,可讓您透過編寫一個函式來建立建構工具。
CPPItertools
這個 C++ 程式庫提供範圍為基礎的 for 迴圈外掛程式,靈感來自 Python 內建程式和 itertools 程式庫。如同 itertools 和 Python 3 內建函式,這個程式庫會盡可能使用惰性評估。
克里巴拉
Copybara 是用於在儲存庫之間轉換及移動程式碼的工具。
Dagger
Dagger 是 Java 和 Android 的完全靜態編譯時間依附元件插入架構。
DAML
DAML 是一種智慧型合約語言,可在安全且注重隱私權的執行階段建構可隨時擴充的區塊鏈應用程式。
DeepMind Lab
可自訂的 3D 平台,可用於代理人 AI 研究。
Drake
Drake 是 MIT 推出的 C++ 工具箱,目前由 Toyota Research Institute 負責維護。這是一組工具,可用於分析機器人的動態和建立機器人控制系統,並著重於以最佳化為基礎的設計/分析。
Envoy
C++ L7 代理程式和通訊匯流排
容易發生錯誤
將常見的 Java 錯誤偵測為編譯時錯誤。(目前正在進行遷移至 Bazel 的作業)。
可擴充服務 Proxy
可擴充服務 Proxy (又稱為 ESP) 是一種 Proxy,可為 JSON/REST 或 gRPC API 服務啟用 API 管理功能。目前實作是以 NGINX HTTP 反向 Proxy 伺服器為基礎。
FFruit
FFruit 是免費的開放原始碼 Android 應用程式,可用於熱門服務 Falling Fruit。
Gerrit Code Review
Gerrit 是適用於 Git 專案的程式碼審查和專案管理工具。
Gitiles
Gitiles 是專為 Git 存放區打造的簡易存放區瀏覽器,以 JGit 建構而成。
Grakn
Grakn (https://grakn.ai/) 是知識圖譜引擎,可將複雜的資料網路進行整理,並讓您進行查詢。
GRPC
語言和平台中立的遠端程序呼叫系統。(Bazel 是支援的建構系統,但不是主要的建構系統)。
gVisor
gVisor 是容器執行階段沙箱。
Guetzli
Guetzli 是 JPEG 編碼器,旨在以高視覺品質提供優異的壓縮密度。
Gulava
Java 程式碼產生器,可讓您編寫 Prolog 風格的謂詞,並透過一般 Java 程式碼無縫使用這些謂詞。
Heron
Heron 是 Twitter 推出的即時、分散式、容錯串流處理引擎。
Jazzer
Jazzer 是 Java 語言專用的模糊以及其他 JVM 語言,而且與 JUnit 5 整合。
JGit
JGit 是實作 Git 版本控制系統的輕量純 Java 程式庫。
Jsonnet
這是 JSON 的優雅、正式指定的設定產生語言。(Bazel 是支援的建構系統)。
Kubernetes
Kubernetes 是開放原始碼系統,可管理多個主機上的容器化應用程式,提供應用程式部署、維護和擴充的基本機制。
Kythe
建構工具生態系統,可與程式碼搭配使用。
Nomulus
Google App Engine 上的頂層網域名稱註冊服務。
ONOS:開啟網路作業系統
ONOS 是唯一支援從舊式「棕地」網路轉換為 SDN「綠地」網路的 SDN 控制器平台。這項功能可為網路作業人員提供令人振奮的新功能,以及顛覆性的部署和營運成本點。
Java 適用的 PetitParser
程式設計語言的文法傳統以靜態方式指定。由於難免會產生模糊不清的情況,因此很難組合和重複使用。PetitParser 結合了無掃描器剖析、剖析器組合器、剖析式文法和 packrat 剖析器的概念,將文法和剖析器建模為可動態重新設定的物件。
PlaidML
PlaidML 是可讓深度學習在任何地方運作的架構。
Project V
Project V 是一組工具,可協助您透過網際網路建構自己的隱私權網路。
Prysmatic Labs 以太坊 2.0 實作
Prysm 是 Ethereum 2.0 的資料分割用戶端,這個以區塊鏈為基礎的分散式運算平台。
Ray
Ray 是彈性高效能的分散式執行架構。
Resty
Resty 是 Go 適用的簡易 HTTP 和 REST 用戶端程式庫 (靈感來自 Ruby rest-client)。
Roughtime
Roughtime 是一項專案,旨在提供安全的時間同步功能。
Selenium
Selenium 是測試網頁應用程式的可攜式架構,
語意
Semantic 是 Haskell 程式庫和指令列工具,可用於剖析、分析及比較原始碼。這是由 GitHub 開發 (並用於程式碼導覽的範例)。
已放送
Served 是用於建構高效能 RESTful 網路伺服器的 C++ 程式庫。
Sonnet
Sonnet 是使用 TensorFlow 建構的程式庫,可用於建立複雜的神經網路。
Sorbet
Sorbet 是一款快速且強大的型別檢查器,可用於部分 Ruby 程式碼。這個 API 可使用數百萬行程式碼擴充程式碼集,並逐步採用。
Spotify
Spotify 使用 Bazel 建構 iOS 和 Android 應用程式 (來源)。
Tink
Tink 是一款多語言、跨平台的開放原始碼程式庫,可提供安全、易於正確使用且不易濫用的加密 API。
TensorFlow
機器智慧開放原始碼軟體程式庫。
Turbo Santa
不受平台限制的 GameBoy 模擬器。
Wycheproof
Wycheproof 專案會針對加密編譯程式庫測試已知的攻擊。
XIOSim
XIOSim 是 x86 架構的詳細使用者模式微架構模擬器。
ZhihuDailyPurify
ZhihuDailyPurify 是 Zhihu Daily 的輕量版,這是中文問答網站。