使用ProGet搭建私有 Nuget 服务
2017-08-02 本文已影响0人
sunthxxx
之前的一篇博文说过通过 Nuget.Server
搭建Nuget服务,今天总结一下通过 GroGet
搭建 Nuget
服务的方法与注意事项。
ProGet 是一款商业的软件,价格也不低。但是呢,它提供免费的 License,有一些较高级的功能受限,日常使用是没问题的。搭建 Nuget 服务只是它其中的一个功能罢了,详细的介绍大家可以访问它的 官网。
下载ProGet
在 Download 页面下载最新的版本。
![](https://img.haomeiwen.com/i7194830/2510db25391dfb1b.png)
获取 Free License
需要你注册一个账号,在账号详细信息界面可以生成 Free License
![](https://img.haomeiwen.com/i7194830/f741a80feb45d7a0.png)
安装 ProGet
选择 Enter License Key
![](https://img.haomeiwen.com/i7194830/d4acade905cfc777.png)
输入获得 Free License
![](https://img.haomeiwen.com/i7194830/0a5536ac83e0c9c8.png)
配置数据库连接字符串,如果本地没有数据库实例就选择 New Instance of SQL Express 。安装程序会自动下载并安装SQLExpress
![](https://img.haomeiwen.com/i7194830/66965995b7d213ea.png)
将ProGet部署在IIS上,可以自定义端口号
![](https://img.haomeiwen.com/i7194830/c2037344d5663560.png)
确定一下配置完成,开始安装
![](https://img.haomeiwen.com/i7194830/bc12d506ec29ff92.png)
安装完成
![](https://img.haomeiwen.com/i7194830/7403ad04b989e92a.png)
配置 Nuget 服务
通过浏览器访问 ProGet 主页
![](https://img.haomeiwen.com/i7194830/c14d7bf2a367fab5.png)
登录管理员账号,用户名密码默认都是 Admin
![](https://img.haomeiwen.com/i7194830/18b50e8b833807ea.png)
创建 Nuget Feed
![](https://img.haomeiwen.com/i7194830/d30b5063b9f03dc0.png)
配置 Nuget,比如 ApiKey(用于发布或删除包),Description 等
![](https://img.haomeiwen.com/i7194830/5f946a8dc609e047.png)
配置 ProGet 匿名用户权限
ProGet中的匿名用户默认是没有发布或删除包权限
![](https://img.haomeiwen.com/i7194830/46bf333f2337c483.png)
Publish Package权限授予 Anonymous用户
![](https://img.haomeiwen.com/i7194830/60a02f7a10a9f14c.png)
上传测试包
提供了四种上传Package方式
![](https://img.haomeiwen.com/i7194830/7205d9110fe71573.png)
这里我们选择使用 Nuget.CommandLine
上传测试包 Sunth.TestPackage
![](https://img.haomeiwen.com/i7194830/31f971a057210ef1.png)
nuget push Sunth.TestPackage.0.0.0.1.nupkg mynuget -Source http://localhost:10086/nuget/mynuget/
如果不幸,发生了405错误
![](https://img.haomeiwen.com/i7194830/d900361383b4616d.png)
打开 ProGet 网站配置文件 Web.Config,添加下列配置
<configuration>
..
<system.webServer>
<handlers>
<remove name="WebDAV"/>
...
</handlers>
<modules>
<remove name="WebDAVModule"/>
...
</modules>
..
</system.webServer>
..
</configuration>
再次执行 Push
命令
$ nuget push Sunth.TestPackage.0.0.0.1.nupkg 112233445566 -Source http://192.168.1.161:10086/nuget/mynuget/
===
Pushing Sunth.TestPackage.0.0.0.1.nupkg to 'http://192.168.1.161:10086/nuget/mynuget/'...
PUT http://192.168.1.161:10086/nuget/mynuget/
Created http://192.168.1.161:10086/nuget/mynuget/ 425ms
Your package was pushed.
祝大家生活愉快!