前篇文章講解了如何架設自己的 NuGet Server,但缺點是只能架在 Windows 上,後來我找到了 BaGet 這個 open source 專案,且能利用 Docker 架設。以下講解如何使用 BaGet:

準備架設

首先準備一個 baget.env 檔案,這個是建立 container 時會用到的,內容如下:

ApiKey=[Your Key]
Storage__Type=FileSystem
Storage__Path=/var/baget/packages
Database__Type=Sqlite
Database__ConnectionString=Data Source=/var/baget/baget.db
Search__Type=Database

接下來直接執行以下指令:

docker run -d -ti --name private-nuget-server -p 5555:80 --env-file baget.env -v "/docker/BaGet:/var/baget" loicsharma/baget

建立後就可以透過 port 5555 看到 BaGet 的 UI,這樣就表示建立成功了。最後在 Visual Studio 設定 NuGet 來源,網址為 http://[FQDN]:5555/v3/index.json

如何上傳套件

如果有安裝 .Net Core,就可以使用下列指令:

dotnet nuget push -s http://[FQDN]:5555/v3/index.json -k [Your Key] NuGetTestClassLibrary.1.0.3.nupkg

參考資料