1分钟极速搭建基于BaGet的轻量级私有Nuget程序包服务器(钢结构平台搭建方法)

2023-03-06 21:07:31

 

本文首发于【码友网】--《1分钟极速搭建基于BaGet的轻量级私有Nuget程序包服务器》概述大家好,我是专注.NET开发的码友网创建者Rector在上一篇《NuGet是什么?为什么.NET项目中会有NuGet?如何使用NuGet程序包?》。

文章中,我们了解了: NuGet是什么? 为什么.NET项目中会有NuGet? * 如何使用NuGet程序包?特别的,文中学习了如何安装基于微软官方托管(nuget.org)的共享NuGet包那现在有人可能会问了:“我的程序集是个人或公司内部的,如果以都发布到。

http://nuget.org托管,那么不是所有都能下载和引用了吗?有没有可能把个人或公司内部的程序集上传到一个私有的NuGet服务器,只让部分开发者可以访问呢?”答案是肯定的,你想到的别人也同样遇到了,并且也有一些不错的解决方案,其中之一即是搭建自己的NuGet程序包托管服务。

可选的应用组件主要有:NuGet.Server、LiGet等,这里列出的两个NuGet包服务器应用组件均是开源的,可以免费下载和使用本文主要为大家分享如何使用BaGet极速搭建属于自己的私有NuGet包服务器,如何发布、更新私有NuGet包到BaGet服务器,如何在Visual Studio中的NuGet包管理器的程序包源配置中添加BaGet源等技术。

BaGet极速搭建NuGet包服务BaGet简介如上文所述,BaGet是一个开源的、轻量级的NuGet包服务器应用组件BaGet源码托管地址为:https://github.com/loic-sharma/。

BaGet BaGet是基于.NET Core开发的NuGet包服务器应用组件,因此需要运行环境安装.NET Core SDK,BaGet具有以下特性: 极速部署 支持跨平台 支持docker容器化部署 。

支持云存储 支持离线缓存 支持包硬删除 * 配置持久化支持多种数据库类型BaGet安装 注:以下安装在Windows操作系统中演示在文中已多次提到极速安装这个动作,那么BaGet的安装到底有那极速呢?让我们一起来体验一下吧!。

安装.NET Core SDK下载BaGet程序压缩包,点击这里解压刚下载的BaGet程序压缩包,打开命令行,定位到BaGet程序根目录,运行命令dotnet BaGet.dll在浏览器中打开地址:http://localhost:5000/

怎么样,是不是超级简单、超级快捷呢!!!运行命令示意图:

浏览器中看到的效果如图:

从图中可以看到,BaGet默认监听了5000端口,如果你需要修改端口,则打开appsettings.json配置文件,将kestrel配置选项的注释去掉,然后修改端口号为自己需要的即可,如下://Uncomment

thistoconfigureBaGettolistentoport8080.//See:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore

-3.1#listenoptionsusehttps"kestrel":{"endpoints":{"http":{"url":"http://localhost:5555"}}}特别注意:以上以dotnet BaGet.dll

方式运行的BaGet包服务还没有设置API密钥,也就是说任何知道BaGet地址的人都是可以对其进行操作,如发布包,更新包,删除包等所以,为了安全起见,建议为你的私有BaGet包服务配置一个API密钥配置方式也非常简单,还是打开。

appsettings.json配置文件,修改选项,如下:{"ApiKey":"NUGET-SERVER-API-KEY",//这里修改成你的密钥即可(任意字符串)//...}更多BaGet的配置,请见BaGet官网

配置说明发布程序包到BaGet服务如下图所示:

首先,点击图中①所示的Upload按钮,界面将切换到上传NuGet包界面,这里展示了几个重要的信息: BaGet包服务索引的地址为图中②标注的地址 使用4种不同的命令行(分别为:.NET CLI, NuGet CLI, Paket CLI, PowerShellGet)发布NuGet包

注:如果你不喜欢命令行的方式发布NuGet包,推荐使用NuGet Package Explorer发布、更新NuGet包,可以在Windows 10的应用商店下载、安装NuGet Package Explorer

使用命令行发布NuGet包的命令如标记③所示为了演示如何将自制NuGet包发布、更新到BaGet服务,我们先来创建一个演示用的C#(.NET 5)类库,并在这个类库中创建一个微信支付类(WeChatPay.cs。

)及演示支付方法,如图:

再右键单击项目WeChatPay -> 打包,如图:

打包结果如图:

在.nupkg所在目录打开命令提示符工具,执行NuGet包的发布命令,如下:

注:本示例并未设置API密钥,如果你设置了BaGet的API密钥,请在发布命令中附加API密钥的参数(-k),如: dotnet nuget push -s http://localhost:5000/v3/index.json -k NUGET-SERVER-API-KEY WeChatPay.1.0.0.nupkg

看到图中所示的“Your package was pushed.”表示NuGet包成功发布到了刚才用BaGet搭建的私有NuGet包服务器刷新浏览器地址:http://localhost:5000/ ,NuGet包列表中出现了WeChatPay这个NuGet包,如图:。

安装私有NuGet包将NuGet包成功上传到BaGet搭建的私有服务器之后,便可下载安装和使用了,接下来我们来配置Visual Studio的Nuget包源以添加私有BaGet包源地址打开Visual Studio的。

选项 -> NuGet包管理器 -> 程序包源,依次完成下图中的操作:

步骤2:点击+号,新增一个程序包源项 步骤3:选中步骤2中新增的项,在3处的广西框中填入程序包源的名称(可任意取名) 步骤4:填入私有NuGet包的服务索引地址 步骤5:点击更新按钮,以更新程序包源的信息 步骤6:点击

确定按钮,以保存新增的程序包源信息好了,现在回到Visual Studio的主界面,将上面创建的WeChatPay类库项目删除,只保留ConsoleApp1这个演示用的控制台项目,如图:

右键单击ConsoleApp1项目的依赖项 -> 管理NuGet程序包,如图:

在打开界面的右上角可以看到程序包源的下拉框,下拉列表中会列出上面新增的私有NuGet程序包源的选项,点击选中此项,NuGet列表会自动刷新,之后将看到我们上传的自制程序包WeChatPay,如图:

选中WeChatPay包,点击右侧的安装按钮,以在当前项目中安装此程序包,如图:

再次回到Visual Studio编辑器主界面,现在我们便可以调用WeChatPay这个包中可访问的资源了,如图:

运行结果如图:

更新NuGet包更新NuGet包其实就一发布一个新版本的NuGet包,这里不再赘述后话笔者认为,本文非常详尽地描述和分享了BaGet搭建私有NuGet服务的全过程与题目相反,虽然用BaGet搭建私有NuGet服务最少可能只需要1分钟,但写这篇文章可不至啊。

文章从资料整理、内容撰写、示例测试到最后的稿件审阅、发布,花了Rector不少于完整的5个小时(写这类技术文章是真的磨人啊-_-)如有什么问题,欢迎评论区留言反馈如果你觉得本文有价值,请来个三连(点赞,收藏,评论)吧,谢谢。


以上就是关于《1分钟极速搭建基于BaGet的轻量级私有Nuget程序包服务器(钢结构平台搭建方法)》的全部内容,本文网址:https://www.7ca.cn/baike/2076.shtml,如对您有帮助可以分享给好友,谢谢。
标签:
声明

排行榜