BaGet 自建開源輕量的NuGet伺服器,解決外部依賴與斷網風險

在 .NET 專案推進時,會依賴公開的 NuGet.org 很方便,旦每一陣子就會發生網路連線不穩、套件無預警下架的狀況,當然如果是公司內部有重要的邏輯元件需要發布,直接丟到公有庫也不現實,「BaGet」能直接在本地或私有雲部屬成自有套件庫,是團隊擺脫外部網路依賴、同時達成內部共用套件標準化工具之一

BaGet自建NuGet伺服器

BaGet 技術重點拆解

輕量化,可容器化部署: 基於 ASP.NET Core 打造,官方提供即開即用的 Docker Image,一行指令即可掛載啟動,幾乎不占用伺服器額外系統資源,適合納入現有開發工作流中。

支援 NuGet v3 協議: 支援目前的 .NET SDK 與 Visual Studio 的套件管理協議,無論是套件檢索、套件元數據解析、推送,與官方 NuGet.org 完全銜接。

可多後端儲存架構: 支援本地環境、AWS S3、Azure Blob Storage、Google Cloud Storage 等,內建輕量 SQLite,也可切換 Microsoft SQL Server、PostgreSQL 或 MySQL,對企業擴展需求。

套件唯讀快取代理: 可配置為上游 NuGet.org 的鏡像代理,當團隊下載公開套件時,BaGet 可幫你自動在本地快取一份,當遇到網路中斷,開發作業依然繼續進行。

老黑應用場景分析

公司內部重要模組封裝: 把你公司內部的共用元件,如客製化 ERP 連接元件、核心演算法等,封裝成標準 .nupkg,推送到 BaGet,其他人員透過 Visual Studio 即可直接更新版本,解決絕程式碼外流風險。

重視資安環境: 對金融、重視資料安全客戶,無法直接對外連網的開發環境,透過 BaGet 架設內部鏡像站,預先載入所需依賴套件,解決「斷網就無法編譯」的開發卡點。

跨據點網路加速: 有海外辦公室或跨地去型的廠區連線外部套件伺服器速度受限時,在各站點部署 BaGet 作為邊緣快取節點,可有效降低跨區網路頻寬造成的延遲問題。

這裡取得工具

官方文件與專案站點:https://loic-sharma.github.io/BaGet/

GitHub 開源原始碼庫:https://github.com/loic-sharma/baget

Add a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料。