应无所住,而生其心
排名
1
文章
860
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

使用docker的simple-nuget-server与baget搭建自己的.net私有nuget仓库

5304人阅读 2023/4/24 19:19 总访问:5182925 评论:0 收藏:0 手机
分类: .NET

使用simple-nuget-server镜像搭建私有nuget仓库

新建2个挂载目录

一个用来存放db,一个用来存放包

  1. mkdir -p /home/nuget/db
  2. mkdir -p /home/nuge/packages

给创建的挂载目录添加权限

  1. chmod -R 777 /home/nuget

拉取镜像与启动容器

拉取镜像

  1. docker pull sunside/simple-nuget-server

启动容器

  1. docker run -d -p 9090:80 -v /home/nuget/db:/var/www/db -v /home/nuget/packages:/var/www/packagefiles -e NUGET_API_KEY=ee28314c-f7fe--bd77-e09eda3d0119 sunside/simple-nuget-server

也可以不拉取镜像,直接启动容器,没有镜像它会自动拉取

启动成功后访问页面可以看到内容如下:

就很简单的一点内容,这个镜像没有去实现页面上的管理

打包与上传

怎么打包就不说了,项目右键打包即可,项目右键选择属性然后可以对包进行设置比如版本号什么的(打包的包在项目的bin\Debug下面)。打包好后可以把打包好的存放到一个文件夹里边,比如

然后进入这个目录,打开cmd命令窗口或者是powershell都可以,这里演示使用cmd

进入目录打开cmd之后,执行命令把里边的库都推送到我们搭建的私有仓库里边

  1. dotnet nuget push *.nupkg -k ee28314c-f7fe--bd77-e09eda3d0119 -s http://192.168.6.226:9090/

这里的*.nupkg表示上传这个文件夹下所有以nupkg结尾的,然后后边还接了密钥与地址。执行成功后效果如下:

包上传命令中的—skip-duplicate选项用于在发布过程中跳过已存在的重复。这个选项可以避免在推送包到服务器时重复上传相同的包,从而节省时间和资

  1. dotnet nuget push <package_path> --skip-duplicate

上传成功后其实就可以下载了,下面就说一下下载

从自己的私有仓库中下载包

打开包管理器点击设置:

添加一个包源,填写好名称与地址,主要是地址写成我们自己搭建的那个地址

然后在程序包源哪里切换成我们刚刚创建的就可以看到我们上传的两个库了
点击安装也是没有任何问题的!

使用baget镜像搭建私有nuget仓库

进入var目录,创建baget文件夹

  1. cd /var
  2. mkdir baget

进入刚刚创建的文件夹/var/baget,创建一个名为baget.env的文件存储BaGet的配置

  1. cd /var/baget
  2. vim baget.env

在刚刚创建的配置文件中添加配置内容

  1. # 以下配置是用于发布包的API密钥,您应该将其更改ApiKey的值以保护服务器。
  2. ApiKey= AJ-Nuget-Packages-API-Key
  3. Storage__Type=FileSystem
  4. Storage__Path=/var/baget/packages
  5. Database__Type=Sqlite
  6. Database__ConnectionString=Data Source=/var/baget/baget.db
  7. Search__Type=Database
  8. Mirror__Enabled=true

这里边的数据配置使用的是Sqlite,也可以使用mysql,sqlserver等配置具体参考:
https://loic-sharma.github.io/BaGet/configuration/

创建成功效果如下,可以看到刚刚创建的文件,以及写入文件里边的配置信息

在baget.env同目录创建一个baget-data 的文件夹

拉取baget镜像与启动容器

拉取baget最新的镜像

  1. docker pull loicsharma/baget

启动docker容器
在刚刚创建的目录/var/baget中去执行命令

  1. docker run --name nuget-server --restart=always -d -p 9092:80 --env-file baget.env -v "$(pwd)/baget-data:/var/baget" loicsharma/baget:latest

-d 后台运行
—name 容器名字为nuget-server
-p 映射端口到9092
-env-file 指定配置文件
-v指定挂载目录

启动成功即可访问,效果如下:

打包与上传

和上面的一样,把地址改成现在的,以及密钥也修改一下。密钥在上面创建的配置文件里边看。上传地址在刚刚那个页面里边可以看

切换到需要上传dll位置,执行命令:

  1. dotnet nuget push *.nupkg -k AJ-Nuget-Packages-API-Key -s http://192.168.6.226:9092/v3/index.json

上传成功后久可以在页面上看到刚刚上传的包

怎么下载和上面的一样就不在累述了。贴一下使用mysql作为存储的配置

  1. # 以下配置是用于发布包的API密钥,您应该将其更改ApiKey的值以保护服务器。
  2. ApiKey= AJ-Nuget-Packages-API-Key
  3. Storage__Type=FileSystem
  4. Storage__Path=/var/baget/packages
  5. Database__Type=Mysql
  6. Database__ConnectionString=database=configcenter;data source=192.168.6.229;User Id=root;password=666666;port=3306
  7. Search__Type=Database

欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

net core 使用 EF Code First

下面这些内容很老了看这篇:https://www.tnblog.net/aojiancc2/article/details/5365 项目使用多层,把数据库访问...

使用OLEDB读取不同版本Excel连接字符串设置

使用OleBD读取excel的时候,excel不同的版本,连接字符串的写法也会不一样。///&lt;summary&gt; ///读取excel ///&lt;/su...

C 使用CancellationTokenSource取消多线程

有时间我们在使用多线程的时候,需要取消线程的执行,可以使用CancellationTokenSource来取消对Task开辟多线程的取消如下:...

使用爬虫刷csdn博客访问量

首先了解一下常见反爬虫的检测方法频率监测:有些网站会设置一种频率监测的机制,对于同一IP,若在一定时间内访问的速度超...

Idea下使用maven搭建SSM(一):SpringMVC

Spring MVC是一款基于MVC架构模式的轻量级Web框架,其目的是将Web开发模块化,对整体架构进行解耦,简化Web开发流程。下面...

Idea下使用maven搭建SSM(二):MyBatis

开发Web应用,数据的存储和处理往往离不开数据库和SQL语句。在使用Java开发的Web应用中,自然也少不了连接数据库的步骤。在...

使用 微软自带语音合成类库

//引入语音合成名称空间 usingSystem.Speech.Synthesis; classA { voidtest1() { //实例化并指定字符串播放合成读音 ...

如何使用图标像使用文字一样,使用文本图标方法

1.首先在Iconfont-阿里巴巴矢量图标库上面找到你需要的图标然后加入你的购物车然后选择图标;注意:每个类型的图标会大小不...

使用七牛云cdn服务,提高图片加载速度

CDN介绍CDN的全称是Content Delivery Network,即内容分发网络。CDN加速主要是加速静态资源,如网站上面上传的图片、媒体,...

.net core 使用session

tip:net core 2.2后可以直接启用session了,不用在自己添加一次session依赖,本身就添加了使用nuget添加引用Microsoft.AspN...

使用OutLook发送邮件

publicstaticvoidOutlook(stringSubject,stringTextBody,stringFromAdd,stringFromPass,stringTo,stringCC,List&lt;string&...

SQL Server 中使用游标

--声明一个游标 DECLAREMyCursorCURSOR FORSELECTTOP5FBookName,FBookCodingFROMTBookInfo//定义一个叫MyCursor的游标,...

Windows使用wireshark抓包小心得

wireshrak是个网络抓包工具,常用。但是在数据较大的网络环境中直接使用软件抓包会导致wireshark卡死。为什么呢 ?网卡瞬间...

Oracle自定义函数简单使用

一.最最最简单的返回一个数字的函数createorreplacefunctionfun_show returnint--申明返回值 as begin return1; end;...

Oracle事务简单使用

事务:  事务是一个整体,这些操作要么全部执行成功,要么全部不执行。使用事务的原因:保证数据的安全有效。事务的四个特...

Oracle使用游标

其实游标就是把查询的结果放入游标中,然后在去游标里边读取。相当于使用游标做了一个中转,而游标是可以作为参数进行传递...