BaGet一款开源的NuGet服务器

BaGet是一款轻量级的NuGet、Symbol服务器,支持多种部署方式和数据存储方案。本文介绍如何使用预编译的发布文件或从源码部署BaGet,并配置ApiKey、包覆盖策略及包存储方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、简介

BaGet (发音为“baguette”) 是一个轻量级的 NuGet、Symbol 服务器。它是开源的、跨平台的和云化的,可以运行再自己得电脑、Docker、Azure、AWS、Google Cloud 、Alibaba Cloud (Aliyun) 等。支持 MySQL、SQLite:、SqlServer、PostgreSQL、Azure Table Storage 这些数据存储方式。

二、部署

BaGet 部署有两种方式,一种是使用 BaGet 已经准备好的 Applicatio 发布文件,另一种是使用 Source Code 自己进行发布,当然第一种相对简单,也是常用的部署方式。

2.1 Realease

在 GitHub 找到 BaGet 仓库,如下图点击 “BaGet latest realease” 进行下载 BaGet 官方提供的 realease 文件
在这里插入图片描述
跳转到下面页面后,点击 BaGet.zip 进行下载 BaGet 发布的程序文件
在这里插入图片描述
下载完成后 ,对 BaGet.zip 解压, 可以看到程序的发布文件,可以部署到自己想部署的地方,如下图
在这里插入图片描述
试着在本地运行一下看看,在 Windows Terminal 中打开,然后运行下面命令,可以看到已经启动,通过本地 5000、5001 端口即可访问

dotnet BaGet.dll

在这里插入图片描述
访问 http://localhost:5000/ 可以看到如下界面,是不是与 nuget.org web 很像,这里可以查询我们的包等操作
在这里插入图片描述
如果有的小伙伴想装 B,隐藏 BaGet 标识,在 BaGet\wwwroot_content\BaGet.Web\css\site.css 添加下面 css 代码,即可把 BaGet 相关的链接隐藏

.main-container > div:last-child {
    display: none;
}
.navbar-nav > li:last-child {
    display: none;
}

在这里插入图片描述

2.2 Source code

源码的方式,其实也就是自己发布一下 Source code 程序,好处是自己可以对 Source code 进行修改进行定制
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、Packages、DB

packages 文件夹,存储着 push 的包文件,这个文件夹及文件夹内的文件不可删除,删除或者丢失后会导致包下载失败
在这里插入图片描述
DB 文件,在没有配置在线数据库的情况下,会使用默认的 SQLite DB,其文件存储在发布文件目录下,名为 baget.db 存储着包的各种信息,用于查询包信息使用,SQLite DB 文件可以使用 SQLiteSpy 进行查看
在这里插入图片描述
在这里插入图片描述

四、配置

BaGet 也有一些非常多得配置,如 ApiKey、复推策略、包存储介质等

4.1 ApiKey

ApiKey 用于安全问题, push 包时候的一个密码,可以防止不让别人随便推送。如下:

{
    "ApiKey": "NUGET-SERVER-API-KEY",
    ...
}

4.2 覆盖

正常情况下,push 一个包,如果 id 和版本已经被占用,是推送不上去的。可以通过设置来配置 BaGet 覆盖已经存在的包。如下:

{
    ...
    "AllowPackageOverwrites": true,
    ...
}

4.3 包存储

包的存储,默认是存储在程序目录下面,也可以配置 OSS 进行存储。如下:

{
    ...
  "Storage": {
    "Type": "FileSystem",
    "Path": ""
  },
    ...
}  
{
    ...
    "Storage": {
        "Type": "AliyunOss",
        "Endpoint": "oss-us-west-1.aliyuncs.com",
        "Bucket": "foo",
        "AccessKey": "",
        "AccessKeySecret": "",
        "Prefix": "lib/baget" // optional
    },
    ...
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟厚非

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值