搭建私有 Nuget 服务器教程(1)

编程入门 行业动态 更新时间:2024-10-27 16:38:10

本文摘自pzy,原文链接:

对于 开发者来说,nuget 是必不可少的程序包管理工具。相应地,大部分开发团队都需要在内部搭建 nuget 服务器,以管理私有 nupkg 包。本教程所使用的 nuget 服务器,不是微软官方的,而是 baget。baget 是一款基于 开发的轻量级的 nuget 服务器,它是开源、跨平台和云原生的。

nuget 服务器baget - nuget 服务器

baget 可以运行的平台有:本地计算机、docker、aws、azure、google cloud 和阿里云。本文只谈在本地计算机上运行 baget。

运行(run)

由于 baget 是基于 开发的,首先需要下载并安装 core sdk,然后下载并提取 baget 最新版本,再用 dotnet baget.dll 启动服务,最后在浏览器中浏览localhost:5000/。

运行 baget 成功后,可通过编辑 appsettings.json文件来修改 baget 的配置。 有关配置的完整列表,请参阅下文的 baget 配置。

配置(configure)

您可以通过编辑 appsettings.json 文件来修改 baget 的配置。

需要api密钥

您可以要求用户提供密码(称为api密钥)来发布程序包。 为此,您可以在 apikey 字段中设置所需的 api 密钥。

{ "apikey": "nuget-server-api-key", ... }

用户现在必须提供 api 密钥来推送软件包:

dotnet nuget push -s localhost:5000/v3/index.json -k nuget-server-api-key package.1.0.0.nupkg

启用直通缓存

直通缓存可以从上游源索引软件包,使用直通缓存需要执行以下操作:

如果从 nuget 还原的速度很慢,则可以加快构建速度在离线情况下启用程序包还原

以下镜像设置将 baget 配置为从 nuget 索引包:

{ ... "mirror": { "enabled": true, "packagesource": "www.51sjk/Upload/Articles/1/0/286/286817_20210712000703437.json" }, ... }

注意:packagesource 是 nuget 服务索引值。

启用包硬删除

为了防止出现“左键盘(left pad)”问题,baget的默认配置不允许删除程序包。 每当 baget 收到软件包删除请求时,它都会“取消列出”软件包。 未列出的软件包是无法发现的,但如果您知道该软件包的 id 和版本,仍可以下载。 您可以通过设置 packagedeletionbehavior 来覆盖此行为:

{ ... "packagedeletionbehavior": "harddelete", ... }

启用包覆盖

通常,如果已经获取 id 和版本,baget 将拒绝软件包上传。 您可以通过设置allowpackageoverwrites将 baget 配置为覆盖现有的软件包:

{ ... "allowpackageoverwrites": true, ... }

数据库配置

baget 支持多个数据库引擎来存储软件包信息,支持的数据库有:mysql、sqlite、sqlserver、postgresql、azuretable。每个数据库引擎都需要一个连接字符串来配置连接。 请访问 connectionstrings,以了解如何为每个数据库引擎创建正确的连接字符串。

您可以使用环境变量或通过编辑appsettings.json文件来配置所选的数据库引擎。

环境变量

有两个与数据库配置有关的环境变量。 它们是:

database__type: 要使用的数据库引擎,它应是上面列出的数据库之一,例如 postgresql 或 sqlite 。database__connectionstring:数据库引擎的连接字符串。

appsettings.json

数据库设置位于 appsettings.json 配置文件中的 database 键下:

{ ... "database": { "type": "sqlite", "connectionstring": "data source=baget.db" }, ... }

有两个与数据库配置有关的设置:

类型:要使用的数据库引擎,它应是上面列出的数据库之一,例如 postgresql 或 sqlite。connectionstring:数据库引擎的连接字符串。

由于时间关系,本文暂时写到这里,下文将叙述搭建私有 nuget 服务器教程后续内容,比如 docker 部署,包推送等等。

  • 0
  • 0
  • 0
  • 0
  • 0

更多推荐

搭建私有 Nuget 服务器教程(1)

本文发布于:2023-06-10 18:30:48,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/616407.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:服务器   教程   Nuget

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!