• 搭建私有Nuget仓库


    使用Nexus搭建私有Nuget仓库

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

    前言
      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

    保存退出,并重启机器。

    1. 禁止SELINNUX
      sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

    重启机器。

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

    yum update

    yum install -y docker

    systemctl enable docker

    systemctl start docker

    1. 拉取Nexus的镜像
      docker pull sonatype/nexus3:3.12.0

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

    1. 运行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,查看内置的默认仓库:

    1. 仓库说明
        其实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

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

    例如,我这里是:D: uget push E:WorkPlacevs2017TestErikDllErikDllinReleaseErikDll.1.0.0.nupkg eb0497e8-5519-3f22-8e9f-f2eae720feb5 -source http://192.168.132.137:8081/repository/nuget-hosted/

    Nexus上也能看到上传的package:

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

    1. 使用Package

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

    3. 添加私有Nuget仓库地址

    4. 添加Package

    5. 调用结果

  • 相关阅读:
    js常用方法收集
    Jquery的常用使用方法
    jQuery css()选择器使用说明
    解决IE6,边框问题
    HTML问题集锦及笔记
    我的第一个chrome扩展(3)——继续读样例
    我的第一个chrome扩展(0)——目标
    我的第一个chrome扩展(2)——基本知识
    我的第一个chrome扩展(1)——读样例,实现时钟
    2の奇妙用法
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/9251522.html
Copyright © 2020-2023  润新知