首页 > 其他分享 >使用Nexus搭建私有Nuget仓库

使用Nexus搭建私有Nuget仓库

时间:2023-06-14 09:11:05浏览次数:40  
标签:nuget Nexus 仓库 Nuget nexus 私有 docker

前言

  Nuget是ASP .NET Gallery的一员,是免费、开源的包管理工具,专注于在.Net / .Net Core应用开发过程中第三方组件库的管理,相对于传统单纯的dll引用要方便、科学得多。其中nuget.org是最著名的Nuget公开库,但是企业内部开发的(业务)公共组件不可能都往公开库上传,所以,企业内部需要一个私有的Nuget仓库来支持。虽然微软有提供的Nuget Server,但Nuget Server用起来并不那么顺手,或者说感觉有点low。因此,本文将介绍Nexus搭建的Nuget仓库,希望能给大家多一个选择。

 

安装步骤

安装环境

Centos 7+, docker

 

1. 设置分区

如果有数据盘需要挂载,可以先设置分区,没有可跳过此步骤。

mkdir -p /opt/nexus -- 创建存放nexus数据的目录

fdisk -l  -- 查看硬盘信息,确定需要挂载的硬盘信息

mkfs.ext4 /dev/xvde -- 格式化硬盘

mount /dev/xvde /opt/nexus 挂载磁盘

blkid --查看硬盘信息

vim /etc/fstab --将新分区的blkid写入/etc/fstab,内容参考:

UUID={uuid} /opt/nexus ext4 defaults 0 0

保存退出,并重启机器。

 

2. 禁止SELINNUX

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

重启机器。

 

3. 安装docker

如果已安装的docker,可跳过此步骤。

yum update

yum install -y docker

systemctl enable docker

systemctl start docker

 

 

4. 拉取Nexus的镜像

docker pull sonatype/nexus3:3.12.0

镜像详细说明:https://hub.docker.com/r/sonatype/nexus3/

 

5. 运行Nexus

运行Nexus并把数据持久化到虚拟机或挂载的分区

mkdir /opt/nexus && chown -R 200 /opt/nexus

docker run -d -p 8081:8081 --name nexus -v /opt/nexus:/nexus-data sonatype/nexus3:3.12.0

 

稍等片刻,可能是几分钟,通过http://serverip:8081就能访问Nexus了。

 

Nexus说明

1. 默认帐号

Nexus的默认管理员帐号:admin,密码:admin123。点击界面右上角可以登录。

 

登录完后,可以看到一个设置按钮:

 

点击Repositories,查看内置的默认仓库:

 

2. 仓库说明

  其实Nexus默认已经创建好了Nuget的仓库,并且是创建了3个不同类型的仓库:nuget-group,nuget-hosted,nuget.org-proxy。

 

a. nuget.org-proxy

  类型是proxy,表示代理仓库。我们向它请求包(package)的时候,如果本地有,它就从本地提供,如果本地没有,它会从nuget.org下载到本地,然后给我提供这个包。

 

b. nuget-hosted

  类型是hosted,表示托管仓库。我们一般把自己开发的包上传到该仓库中。

 

c. nuget-group

  类型是group,表示仓库组,它结合了nuget.org-proxy和nuget-hosted,能对外提供上述两者中的包。

 

  简而言之,nuget-hosted负责包上传,nuget.org-proxy负责代理包,nuget-group负责提供包。

 

上传包(Package)

1. 下载Nuget

https://www.nuget.org/downloads下载最新推荐的nuget.exe。

 

2. 添加Nuget Realms

因为Nexus认证Nuget是通过Realms来认证,因此,要添加Nuget Realms。

 

3. 准备Package

编写DLL:

 

设置DLL信息(可选)

 

打包dll

方法一:使用控制台

dotnet pack -c Release

 

方法二:使用Visual Studio

 

4. 上传Package

指令模板:nuget push {dll}.nupkg {apiKey} -source {http://customsource/}

例如,我这里是:D:\nuget push E:\WorkPlace\vs2017\Test\ErikDll\ErikDll\bin\Release\ErikDll.1.0.0.nupkg eb0497e8-5519-3f22-8e9f-f2eae720feb5 -source http://192.168.132.137:8081/repository/nuget-hosted/

 

 

Nexus上也能看到上传的package:

 

其中,apiKey的获取方法如下:

 

使用Package

1. 打开Visual Studio的Nuget管理器,进行设置

 

2. 添加私有Nuget仓库地址

 

3. 添加Package

 

4. 调用结果

 

 

 

出处:https://www.cnblogs.com/Erik_Xu/p/9211471.html

标签:nuget,Nexus,仓库,Nuget,nexus,私有,docker
From: https://www.cnblogs.com/mq0036/p/17479196.html

相关文章

  • 83 封装 在类中设定私有属性 限定传入的参数的范围;当调用时,需要用set方法传参
    类 封装packagecom.fqs.demo061201;publicclassGirl{//属性Stringname;privateintage;//set赋值publicvoidsetAge(inta){if(age>18&&age<50){age=a;}else{System.out.println......
  • 公有云私有云混合云
    什么是公有云?公有云通常指第三方提供商为用户提供的能够使用的云,公有云一般可通过Internet使用,可能是免费或成本低廉的,公有云的核心属性是共享资源服务。这种云有许多实例,可在当今整个开放的公有网络中提供服务。企业通过自己的基础设施直接向外部用户提供服务。外部用户通过互联......
  • .net framework生成Nuget包简单教程
    前言nuget包生成在.netframework和.netcore/.netstandard下的是不同的。.netframework中稍微复杂些,下面记录了我自己在.netframework中本地生成Nuget包的过程,只涉及主要步骤,更多细节参见微软官方文档。步骤1,到https://www.nuget.org/downloads下载nuget.exe,下载完我放在D......
  • gitlab搭建私有化服务
    暂时还没有资源进行搭建,先看看记录一下调研信息。搭建流程:https://www.likecs.com/show-307842527.htmlhttps://blog.csdn.net/m0_46090675/article/details/120853935/gitlab下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/......
  • golang导入私有仓库报错:“server response: not found:xxx: invalid version: git ls
    1.问题:goget导入私有仓库报错➜goget"devops.gitlab.xxx.com/test/kafka-utils"go:devops.gitlab.xxx.com/test/[email protected]:verifyinggo.mod:devops.gitlab.xxx.com/testo/[email protected]/go.mod:readinghttps://goproxy.cn/sumdb/sum.golang.org/......
  • 创建NuGet本地包的问题:【LocalNugGet】未将对象引用设置到对象的实例
    现象:创建NuGet本地包后,使用NuGet管理器访问LocalNuGet时,报错:【LocalNugGet】未将对象引用设置到对象的实例检查C:\Users{此处时你的用户名}\AppData\Roaming\NuGet路径下的NuGet.Config配置文件。发现:LocalNuGet名字有重复出现。LocalNuGet后面有参数:protocolVersion......
  • 违禁词检测API - 私有化部署
    违禁词检测API,支持私有化部署,开箱即用,下载到本地直接运行,直接httpjson查询。下载地址https://github.com/bosnzt/wordscheckhttps://gitee.com/bosnzt/wordscheck运行下[root@localhostsvc]#chmod+xwordscheck[root@localhostsvc]#./wordscheckcurl试下效果[root@......
  • Maven(创建私有仓库和设置权限)
    为区分项目,要为项目建立私有仓库 1.添加仓库    2.填写私有仓库信息,然后保存 RiilRelease仓库 RiilSnapshot仓库   3.配置成功 4.添加权限    5.添加RiilRelease的权限和RiilSnapshot的权限    6.检查是否配置成功    7.创建角色,分配权限    ......
  • 使用nexus做Maven的私服
    参考:[color=blue][b]配置自己的maven库——nexus[/b][/color][url]http://lanhuidong.iteye.com/blog/1767941[/url][color=red][b]用nexus搭建maven私服[/b][/color][url]http://www.iteye.com/topic/1126678[/url]Maven实战阅读摘要:[url]http://hua......
  • Maven3 + Nexus 2.3 + Hudson 2.x/3.x + Tomcat7
    [color=blue][b]以下在Hudson2.x配置成功,然后升级到Hudson3.x后,配置依然有效.[/b][/color][color=blue][b]Hudson邮件配置&构建bash项目[/b][/color][url]http://www.blogjava.net/Man/archive/2012/12/26/393520.html[/url]关于邮件的参数参考:[url]http:/......