使用Nexus搭建nuget包服务器
最近流水线发布总是遇到nuget官方源或azure镜像源无法使用的情况,特别是下午或晚上的时间点;思来想去还是自行搭建一个nuget服务,因此本文记录了相关要点,希望能给大家多一个选择。
一、获取 Nexus 镜像
docker pull sonatype/nexus3
无法拉取镜像文件的,可以修改docker源
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.xuanyuan.me",
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
二、创建并启动Nexus容器
cd /data01/docker-data/nexus
mkdir data
mkdir logs
chown -R 200 ./nexus
docker run -d --name nexus3 -p 12025:8081 --restart always -v /data01/docker-data/nexus/data:/nexus-data -v /data01/docker-data/nexus/logs:/nexus-logs -e TZ=Asia/Shanghai sonatype/nexus3
12025为nuget仓库准备的,12026为docker预留
三、进入容器获取密码
进入容器
docker exec -it nexus3 /bin/bash
进入nexus-data目录
cd /nexus-data
查看密码
cat admin.password
如上图所示,其实Nexus默认已经创建好了Nuget的仓库,并且是创建了3个不同类型的仓库:nuget-group,nuget-hosted,nuget.org-proxy
nuget.org-proxy
类型是proxy,表示代理仓库。我们向它请求包(package)的时候,如果本地有,它就从本地提供,如果本地没有,它会从nuget.org下载到本地,然后给我提供这个包。
nuget-hosted
类型是hosted,表示托管仓库。我们一般把自己开发的包上传到该仓库中。
nuget-group
类型是group,表示仓库组,它结合了nuget.org-proxy和nuget-hosted,能对外提供上述两者中的包。
在nuget-hosted中上传nuget包,如下:
四、在VS中使用Nuget包
1、 打开Visual Studio的Nuget管理器,进行设置
2、添加私有Nuget仓库地址
3、引用nuget包
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~