最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 使用nexus搭建npm本地私人仓库

    正文概述 掘金(EvJol)   2020-12-30   660

    NPM上为我们提供了许多官方安装包,我们可以从npmjs中上传或者下载npm安装包,但是:

    • 由于网络的限制,会导致npm包的上传和下载速度较慢;
    • 生产使用的npm包中包含了许多隐私信息,若放到NPM仓库上容易被外部人员获取。
    • cnpm
    • verdaccio
    • sinopia
    • nexus (本案例选择该技术)
    • 支持多种类型的仓库,如:Docker、Npm、Nuget等
    • 集成LDAP
    • 支持权限管理
    • 支持Webhook
    • docker && docker-compose
    • 10.0.95.63 主机(暂时使用个人电脑作为私人镜像仓库服务器)
    • 安装Docker,通过Docker镜像安装
    • 端口映射:
    外部端口映射端口仓库类型描述
    55658081group后台访问主端口;同时是安装依赖的主端口,包含下面两种类型的仓库55678082hosted私有仓库,内部开发上传的仓库,不对外暴露55668083proxy代理仓库,即第三方仓库,如taobao
    1. 拉取nexus官方docker镜像

      docker pull sonatype/nexus3  # 官方镜像
      docekr pull 10.0.95.63:5566/nexus # 本地镜像
      
    2. 创建docker-compose.yml文件

      sudo mkdir nexus && cd nexus
      sudo vim docker-compose.yml
      

      将下面的代码复制到docker-compose.yml文件中

      version: "3.7"
         
      services:
        nexus:
          image: sonatype/nexus3  # 或者为10.0.95.63:5566/nexus
          ports:
            - "5565:8081"			# 后台访问主端口,同时也是group仓库的访问端口
            - "5567:8082"			# 代理仓库端口,即第三方仓库,如taobao
            - "5566:8083"			# 私有仓库端口,内部开发上传的仓库,不对外暴露
          restart: always
          container_name: "nexus" # 容器名称
          volumes:
            - "/media/mes/file2/nexus3:/nexus-data" # 将/nexus-data挂载本地的/media/mes/file2/nexus3
      

      运行容器:

      docker-compose up -d
      
    3. 在浏览器中打开路径http://10.0.95.63:5565,若能打开以下界面,则代表配置成功

      使用nexus搭建npm本地私人仓库

      然后点击Sign in进行登录,首次登录时,账号为admin,密码自动生成在/media/mes/file2/nexus3/admin.password文件中

      cat /media/mes/file2/nexus3/admin.password
      

      将密码输入到登录框中即可

    4. 点击Configuration--Repositories--Create repository创建仓库

      使用nexus搭建npm本地私人仓库

      分别创建以下三种类型的仓库

      使用nexus搭建npm本地私人仓库

    5. 创建hosted类型的仓库,选择npm(hosted),输入仓库名称npm-hosted,然后点击Create repository创建仓库;

      使用nexus搭建npm本地私人仓库

    6. 创建proxy类型的仓库,选择npm(proxy),输入仓库名称npm-taobao,输入代理地址https://registry.npm.taobao.org/

      使用nexus搭建npm本地私人仓库

      勾选Auto blocking enabled,将Maximum component age修改为-1,将Maximum metadata age修改为30,然后点击Create repository创建仓库;

      使用nexus搭建npm本地私人仓库

    7. 创建group类型仓库,选择npm(group),输入仓库名称npm-group,然后将上面创建的仓库移到Members中,然后点击Create repository创建仓库;

      使用nexus搭建npm本地私人仓库

    8. 创建完成后,如下图

      使用nexus搭建npm本地私人仓库

    9. 验证

      # 方法一:
      npm config set registry http://10.0.95.63:5565/repository/npm-group/ # 点Copy即可获取该地址
      npm login --registry=http://10.0.95.63:5565/repository/npm-group/ # 依次输入账号密码以及邮箱
      npm init -y # 创建一个新目录并进行初始化
      npm install koa # 验证是否能从仓库中获取包
         
      # 方法二:使用nrm,便于管理npm镜像源
      npm install -g nrm # 安装nrm
      nrm ls # 查看可选的镜像源
      nrm add nexus http://10.0.95.63:5565/repository/npm-group/ # 添加镜像源
      nrm set-auth -u mes -p Mes_2020 nexus # 设置访问权限
      nrm set-email nexus mes@domain.cn # 设置邮箱
      nrm use nexus # 使用本地镜像源
      npm init -y # 创建一个新目录并进行初始化
      npm install koa # 验证是否能从仓库中获取包
      
    10. 若登录报错:Unable to authenticate, need: BASIC realm="SOnatype nexus Repository Manager",

      使用nexus搭建npm本地私人仓库

      解决方案:

      1. 选择Security下的Realms,将npm Bearer Token RealmAvailable移到Active

      使用nexus搭建npm本地私人仓库


    起源地下载网 » 使用nexus搭建npm本地私人仓库

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元