Discuz! Board

 找回密碼
 立即註冊

QQ登入

只需一步,快速開始

搜尋
熱搜: 活動 交友 discuz
檢視: 173|回覆: 0

誰使用 Monorepo 與 Multi-Repo

[複製連結]

2

主題

2

帖子

8

積分

新手上路

Rank: 1

積分
8
發表於 2023-10-29 11:39:20 | 顯示全部樓層 |閱讀模式
幾家大型科技公司選擇了 monorepo 方法,而其他公司則決定使用 multirepo 方法。谷歌、Facebook、Twitter 和 Uber 都公開支援單一回購方法。 Microsoft 執行著全球最大的 Git monorepo 來託管 Windows 作業系統的原始碼。

反觀Netflix、亞馬遜、Lyft等都是採用多次補貨方式的知名公司。在混合多 西班牙電話號碼資料 單體方面,Android 更新多個儲存庫,這些儲存庫作為單一儲存庫進行管理。

在混合單多方面,Symfony 將其所有元件的程式碼保留在 monorepo 中。 他們將其分成單獨的儲存庫進行部署(如 symfony/dependency-injection 和 symfony/event-dispatcher)。

Monorepo 和 Multi-Repo 的示例
WordPress GitHub 帳戶託管 monorepo 和 multirepo 方法的示例。

Gutenberg 是 WordPress 塊編輯器,由數十個 JavaScript 包組成。 這些包全部託管在 WordPress/gutenberg monorepo 中,並通過 Lerna 進行管理,以幫助將它們釋出到 npm 儲存庫。

Openverse 是一個公開許可的媒體搜尋引擎,其主要部分託管在獨立的儲存庫中:前端、目錄和 API。

Monorepo 與 Multi-Repo:如何選擇?
與許多開發問題一樣,對於應該使用哪種方法沒有預定義的答案。 不同的公司和專案將根據其獨特的條件從一種或另一種策略中受益,例如:

程式碼庫有多大? 它包含千兆位元組的資料嗎?
有多少人會在程式碼庫上工作? 是 10、100 還是 1,000?
會有多少個包裹? 大約是 10 個、100 個還是 1,000 個?
團隊在任何給定時間必須處理多少個包?
這些包的耦合程度如何?



這些是不同的程式語言嗎? 是否需要安裝特定軟體或特殊硬體才能執行?
需要多少個部署工具以及配置它們的複雜程度如何?
公司文化是什麼? 是否鼓勵團隊合作?
團隊知道如何使用哪些工具和技術。

回覆

使用道具 舉報

您需要登入後才可以回帖 登入 | 立即註冊

本版積分規則

Archiver|手機版|小黑屋|DiscuzX

GMT+8, 2025-7-9 06:08 , Processed in 0.021019 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回復 返回頂部 返回列表