3

docker 部署私人 nuget 服务 - 顽皮大叔

 2 years ago
source link: https://www.cnblogs.com/rtwo/p/16574233.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

使用docker搭建私有Nuget服务

首先在linux服务器上创建两个容器挂着目录

mkdir /home/nuget/db
mkdir /home/nuget/packages
并且对该目录指定写入权限
chmod 666 /home/nuget

使用如下创建容器命令运行Nuget服务
docker run -d -p 8085:80 -v /home/nuget/db:/var/www/db -v /home/nuget/packages:/var/www/packagefiles -e NUGET_API_KEY=f4b59444-6b98-4e3f-b1de-77e84f22a807 sunside/simple-nuget-server

image

docker ps -a 查看运行的所有容器
image

此时 浏览器中直接使用 IP+端口访问,如下图则说明部署成功

image

测试使用刚搭建的 Nuget 服务

1:新建项目

image

2:右键属性,选择包->常规,勾选在生成操作期间创建包文件

根据自己的需求修改包ID、标题、包版本(注意每次推送时候增加版本号)

image

3:找到生成->输出,右边的预生成事件框中输入

del $(ProjectDir)$(OutDir)..\*.nupkg /s/q
exit 0

该命令的意思是 删除 当前项目路径下/当前输出路径下的 以.nupkg 结尾的所有文件

image

4:右键-> 重新生成

5:打开项目所在文件夹 进入 bin>Debug 目录

nuget 包已经打包好了这时候我们需要推送到 nuget server 服务器

image

6:再此目录路径上输入 cmd,在cmd中定位到当前文件夹

image

7:输入命令,此处IP换成自己服务器IP

dotnet nuget push *.nupkg -k f4b59444-6b98-4e3f-b1de-77e84f22a807 -s http://111.111.111.111:8085

image

自此自己的项目已经推送到 Nuget 服务器上了 可以在挂着目录中看到自己推送的项目,也可以在Nuget地址源添加自己的源地址 http://111.111.111.111:8085 后再服务器上查看到

image
image

每次推送都要写这句命令,麻烦 所以我们自定义一个 vs 菜单来推送

image
image

标题 nuget debug push
命令 $(SolutionDir)\push.cmd
参数 $(ProjectDir)bin\Debug\*.nupkg
初始目录 $(ProjectDir)bin\Debug

应用并保存 然后选择工具->自定义

image

命令 -> 选择上下文菜单 -> 选择项目和解决方案上下文菜单|项目,然后点击添加命令

image

选择 工具-> 外部命令2

image

为啥选择的是 外部命令2(外部命令2 后面的数字是表示自定义外部命令的索引)

image

项目的解决方案下面新建 push.cmd 文件
文件内容: dotnet nuget push *.nupkg -k ee28314c-f7fe-2550-bd77-e09eda3d0119 -s http://111.111.111.111:8085

image

最后我们改个版本号 再项目上右键,就能看到 我们自定义的菜单,点击就可义推送到 nuget 服务器上了

image
image

此处我们也能看到每次改版本后推送的各个版本

image

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK