ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

内网使用BaGet搭建NuGet包服务器

2022-08-21 12:01:28  阅读:183  来源: 互联网

标签:info nssm BaGet Hosting NuGet 服务器 内网


一、NuGet包服务器搭建背景     近期公司内部实施网络安全项目,将网络划分为两部分:外网及内网,研发均在内网办公,内网无法访问外网,内网与外网实现物理隔离。     这就产生一个问题:源码依赖第三方包,无法从Nuget网站获取,最终编译失败。因此需要搭建一个内网包服务器,将项目依赖的第三方包都上传到包服务器,从而解决包依赖问题。     过去常用的包服务器是Nuget Server ,目前有基于.net core3.1的BaGet,最新版是v0.4.0-preview2,经过实际使用发现BaGet具有搭建速度快,稳定,功能基本够用的特点,符合当前需求,于是决定使用BaGet。   二、搭建BaGet     BaGet源码地址: https://github.com/loic-sharma/BaGet     BaGet编译包地址:https://github.com/loic-sharma/BaGet/releases/download/v0.4.0-preview2/BaGet.zip       1、下载BaGet编译包:BaGet.zip,解压至:D:\Tools\BaGet。     在命令行中执行:dotnet  baget.dll     出现如下提示信息,说明程序已启动,地址为:http://localhost:5000。   info: Microsoft.Hosting.Lifetime[0]       Now listening on: http://localhost:5000 info: Microsoft.Hosting.Lifetime[0]       Now listening on: https://localhost:5001 info: Microsoft.Hosting.Lifetime[0]       Application started. Press Ctrl+C to shut down. info: Microsoft.Hosting.Lifetime[0]       Hosting environment: Production info: Microsoft.Hosting.Lifetime[0]       Content root path: D:\Tools\BaGet       2、由于BaGet是基于.NET Core 3.1构建,因此需要安装.NET Core 3.1运行时,下载地址:https://dotnet.microsoft.com/zh-cn/download/dotnet/3.1/runtime,下载后在服务器(操作系统为Windows Server 2019)上安装.NET Core 3.1运行时       3、.NET Core程序有多种部署方式,为确保程序能随机器开机启动,选择使用nssm将BaGet做成Windows服务。nssm下载地址:http://www.nssm.cc/download     (1)nssm使用命令行才能查看主界面:在命令行窗口中定位到nssm.exe根目录,执行nssm install,显示如下:  

 

     (2)将相关参数填入

 

     (3)点击按钮Install service,执行成功后在服务中可以查看到BaGet服务已安装

 

三、上传nuget包     1、使用NuGetPackageExplorer或nuget命令     2、BaGet目前无上传功能,如果支持批量上传则能大大简化nuget包上传工作,提高包上传效率   四、VS添加内网包服务器地址  

 

    至此,编译项目,从包服务器拉取项目依赖包,项目编译通过。   五、优化VS配置包源     进一步的,如果按照这种设置,将存在如下问题:     (1)每台研发机器均要配置一遍     (2)包服务器IP如果有变更,仍要重新配置       能否0配置就实现?     针对问题(1):解决办法是使用VS默认包源:https://api.nuget.org/v3/index.json     针对问题(2):解决办法是将内网IP映射为nuget外网域名,使用域名访问,这样访问就不依赖于固定IP,实现访问解耦,因内网无法访问外网,故不存在域名冲突问题,该方案需要DNS支持       注意:     本文BaGet安装环境为Windows Server 2019,具备DNS功能,但需要手动安装,具体DNS域名映射,创建正向解析与反向解析网上有很多资料,本文不再详细介绍配置过程。   六、总结     本文从实际工作需要出发,搭建NuGet服务器,明确选型为BaGet,到搭建完成解决实际问题。最后使用中存在的包源配置问题、包源IP耦合问题给出进一步优化措施,最终通过使用域名代替IP以及DNS域名映射解决。      

标签:info,nssm,BaGet,Hosting,NuGet,服务器,内网
来源: https://www.cnblogs.com/maomu/p/16608243.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有