通过ProGet搭建一个内部的Nuget服务器

通过ProGet搭建一个内部的Nuget服务器

大家好,又见面了,我是全栈君。

.NET Core项目完全使用Nuget 管理组件之间的依赖关系,Nuget已经成为.NET 生态系统中不可或缺的一个组件,从项目角度,将项目中各种组件的引用统统交给NuGet,添加组件/删除组件/以及更新组件即可一键完成,大大提升工作效率,减少不必要的引用报错。从运维角度,可在不影响老版本的情况下发布新版本,可统一管理公司各个项目中组件版本不一和各个版本组件的使用情况,减少故障发生以并使得项目稳定运行。

nuget.org 有个指南Hosting Packages Overview 告诉你如何自己搭一个nuget Server,社区还有下面的几个相关方案都可以实现自己搭建Nuget Server:

  • Nexus: 支持NuGet, 他也是可以免费使用的,对于要同时支持Maven等的可以考虑,对于纯粹的.NET支持上有点重
  • MyGet: 这是一个Nuget云服务,不适合企业内的私有部署
  • Self-hosted feeds: 小团队使用可以,很快你就会掉到坑里,一个很简陋的NuGet服务器很难以满足各方面的需求
  • ProGet,它和Nexus一样虽然是商业软件,支持nuget、npm、docker等,但它是.NET生态应用,而且还提供了免费版本,博客园也是用ProGet,具体参看dudu的文章《用ProGet搭建内部的NuGet服务器》

下面我们就来看看如何使用ProGet搭建一个内部的NuGet服务器,由于时间的关系dudu的安装方法已经不适用了,实质上ProGet分为绿色版和安装包两个版本,绿色版就是dudu上面所说的,而简单点的是直接安装包安装,跟着向导做就可以了,下面介绍下绿色版的安装:

1、 浏览器打开http://inedo.com/proget/versions 并下载最新的4.3.1 Manual Install版

proget43

2、 解压下载文件,得到3个文件夹:ProGet-Service 、ProGet-WebApp与ProGet-DbChangeScripter

3、 参考http://inedo.com/support/documentation/proget/installation/manual ,我们使用IIS来承载,需要安装数据库和IIS 站点。

4、 在IIS中创建一个站点指向ProGet-WebApp文件夹,应用程序池配置为经典模式(Classic)。[注:如果采用集成模式(Integrated),会出现HTTP Error 403.14 – Forbidden错误]。

5、 在SQL Server中创建一个名为ProGet的数据库,然后运行ProGet-DbChangeScripter文件夹中的bmdbupdate.exe程序。出现命令行菜单,输入update(进行update操作),接着输入数据库连接字符串回车,默认true,继续回车(进行数据库初始化操作),然后会进行数据库初始化操作。

progetupdatedb

6、 在完成数据库初始化操作之后,修改一下web.config中的数据库连接字符串,然后就可以正常访问自己搭建的ProGet站点。

7、 去ProGet的官网 my.inedo.com 注册一个帐户并获取免费版的License Key,登录进入自己搭建的ProGet站点,点击“Licensing and Activation”,输入之前得到的License Key进行激活。激活后就可以正常使用ProGet

8、 进入 Manage Default Feed ,修改一下Disk Path的值,设置为存放packages文件的物理路径。

除了用于存放自己的nuget packages,ProGet还可以通过connector连接到远程的nuget.org服务器,这样可以把ProGet站点作为nuget.org的缓存服务器。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108860.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Vue中使用animate.css「建议收藏」

    Vue中使用animate.css「建议收藏」最近把公司官网项目依赖进行了升级,里面用到了animate.css。目前版本4.1.0。目前4.x版本相比之前3.x的breakingchange如下:Animate.cssv4broughtsomeimprovements,improvedanimations,andnewanimations,whichmakesitworthupgrading.Butitalsocomeswithabreakingchange:wehaveaddedpref

    2022年7月14日
    17
  • POJ1488 UVA272 UVALive5381 TEX Quotes【输入输出】

    POJ1488 UVA272 UVALive5381 TEX Quotes【输入输出】

    2021年9月16日
    52
  • 动态规划之背包问题及输出背包具体方案[通俗易懂]

    动态规划之背包问题及输出背包具体方案[通俗易懂]题型1:LintCode92.背包问题题目:在n个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m,每个物品的大小为A[i]。分析:dp[i][j]:当背包总重量为j且目前有i个物品时,背包最多装满dp[i][j]的空间。      状态转移方程为:dp[i][j]=max{dp[i-1][j-A[i-1]]+A[i-1],dp[i-1][j]},其中dp[i-1][j-A[…

    2022年7月26日
    10
  • 深入浅出:hadoop分布式文件存储系统(HDFS)

    深入浅出:hadoop分布式文件存储系统(HDFS)分布式文件存储系统如上图所示,HDFS也是按照Master和Slave的结构。分NameNode、SecondaryNameNode、DataNode这几个角色。NameNode:是Master节点,是大领导。管理数据块映射;处理客户端的读写请求;配置副本策略;管理HDFS的名称空间;SecondaryNameNode:是一个小弟,分担大哥namenode的一部分工作量;是Na…

    2022年5月10日
    46
  • linux进入命令行模式_pycharm的terminal

    linux进入命令行模式_pycharm的terminalPyCharm终端设置cmd

    2022年10月23日
    0
  • 补码的表示 以及+-0的问题「建议收藏」

    补码的表示 以及+-0的问题「建议收藏」正数的补码是其本身,也就是原码.负数的补码是各位取反后加1.也就是其反码加1.+0的补码就是其原码,也就是说是00000000而已(对于8位来说)-0的补码是其反码加1,其反码是11111111,当然,其反码加1后就是溢出一个进位后,仍然是00000000.问题出现在(+0)和(-0)上,在人们的计算概念中零是没有正负之分的。于是就引入了补码概念。负数的补码就是对反码加一,而正数不…

    2025年5月23日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号