使用Nexus搭建私有Nuget仓库

前言

  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并把数据持久化到虚拟机或挂载的分区

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的获取方法如下:

5. 使用Package

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

2. 添加私有Nuget仓库地址

3. 添加Package

4. 调用结果

原文地址:https://www.cnblogs.com/Erik_Xu/p/9211471.html

时间: 2024-10-11 05:57:47

使用Nexus搭建私有Nuget仓库的相关文章

怎样从自己用Nexus构建的Nuget仓库发布或下载dll

目的:怎样从自己用Nexus构建的Nuget仓库发布或下载dll 实现: 我们前面已经讲过用Docker来运行Nexus构建Maven仓库,这次我们将通过Nexus构建的Nuget仓库来发布和下载我们的dll,所以之前的关于Nexus的搭建就不在此描述了! 其实Nexus默认已经有了Nuget的仓库,我们只需要设置好相应权限给相关人员即可,例如: 接下来主要说明我们怎样发布我们的dll,或一些第三方的dll到我们的仓库中去,下面我们以发布一个第三方的dll到仓库后在下载来说明:  1.获取Nug

使用Nexus搭建企业maven仓库(二)

先阅读<使用Nexus搭建企业maven仓库(一)> http://blog.csdn.net/ouyida3/article/details/40747545 1.官网目前最新的版本是2.10.0,从2.6开始就要求jdk7以上,否则报错: Unsupported major.minor version 51.0 (51.0是jdk1.7,,50.0是1.6,49是1,5,48是1.4) 2.如果机器不方便安装jdk1.7,下载2.5版本即可,下载地址: http://www.sonatyp

nexus 搭建maven本地仓库

使用Nexus搭建Maven本地仓库 阅读目录 序 Nexus 序 在工作中可能存在有些开发机器不能上网,大量的机器获取jar包会导致公司网络很慢,还有时候公司会自己发布自己的项目版本,其他的项目可能会依赖引用到,所以就需要用到Maven的本地仓库. 下面就这个构建本地Maven仓库进行阐述. Nexus 一:介绍 Nexus是Maven的仓库管理器,用来搭建一个本地仓库服务器,这样做的好处便于管理,节约网络资源, 速度快,可以通过SNAPSHOT版本控制,开进行模块间的高效依赖开发. 二:下载

【Docker】(4)搭建私有镜像仓库

[Docker](4)搭建私有镜像仓库 说明 1. 这里是通过阿里云,搭建Docker私有镜像仓库. 2. 这里打包的镜像是从官网拉下来的,并不是自己项目创建的新镜像,主要测试功能 一.搭建过程 首先进入阿里云创建镜像仓库: https://dev.aliyun.com/search.html-->点击管理中心(初次使用会提示开通,然后设置密码) 然后创建命名空间和镜像仓库: 有关docker拉取和推送指令,点击上图的中管理,就能看到. 1.登录阿里云 docker login [email p

实验:安装centos-6,开启网卡,搭建私有yum仓库

安装red hat centos -6的详细步骤,包含开启网卡.搭建私有yum仓库 1.新建虚拟机,选择自定义安装,下一步 2.虚拟机硬件兼容性以已安装的vmware 为准,不知道的默认即可,然后点击下一步 3.选择稍后安装系统,然后下一步 4.操作系统linux,版本找到red hat linux 6 64 位,选择好点击下一步 5.虚拟机名称自己起,根据自己的习惯来设置 位置不要安装在c盘,有固态的安在固态上,重新创建一个文件夹去指定安装位置,便于以后的管理,即虚拟机的删除.移动.复制:选择

用registry快速搭建私有镜像仓库

1.背景 在 Docker 中,当我们执行 docker pull xxx 的时候,可能会比较好奇,docker 会去哪儿查找并下载镜像呢? ?它实际上是从 registry.hub.docker.com 这个地址去查找,这就是Docker公司为我们提供的公共仓库,上面的镜像,大家都可以看到,也可以使用.所以,我们也可以带上仓库地址去拉取镜像,如:docker pull registry.hub.docker.com/library/alpine,不过要注意,这种方式下载的镜像的默认名称就会长一

.NET Core:搭建私有Nuget服务器以及打包发布Nuget包

使用docker搭建私有Nuget服务器 docker run -d -p 8080:80 -v $PWD/nuget/db:/var/www/db -v $PWD/nuget/packages:/var/www/packagefiles -e NUGET_API_KEY=ee28314c-f7fe-2550-bd77-e09eda3d0119 sunside/simple-nuget-server 这里环境变量NUGET_API_KEY要记住后面的命令需要使用成功后如下图所示: 打包Nuget

利用nexus搭建私有maven库管理内部lib,get!

1.本文简介 很多时候,我们都是compile的aar或者jar,或者项目内的module.但是有没有发现不方便?如果某个人改了公共库里的代码,要么把aar或者jar重新拷贝新的发送过来.如果是module似乎没事,直接在module改动即可,然后从git上继续pull代码即可.但是如果多个项目怎么办,都引用同一个公共lib,此时还是得多个项目都改动module.本文就是介绍多人多项目的情况下,如何共同使用同一个lib,做到一处改动,多项目同时可更新.鉴于本人在发表文章前一天刚学习如何搭建,如有

使用Nexus搭建Maven代理仓库

1.简介 使用Maven构建和管理项目是非常享受的一件事,我们可以从Maven中央仓库下载所需要的构件(artifact),但实际开发中由于种种原因我们需要在架设一个Maven本地代理仓库,如:不方便访问公网.节省带宽和时间.管理自家的共用artifact等等.本地地理仓库是我自己取的名字,为了不与下文的本地仓库想混淆. 获取构建的流程如下:用户使用Maven构建项目时,首先是要直接从本地仓库获取的,如果本地仓库没有,它会根据setting.xml的设置去首先尝试从远程仓库下载构件至本地仓库,然