java高级开发vue

使用 Nexus3 Repository Manager 搭建

2019-02-12  本文已影响4人  老鼠AI大米_Java全栈

公司里一般都有自己的私服,用于管理封装的工具插件等,Nexus2主要是用于maven/gralde仓库的统一管理,Nexus3则添加了npm插件,可以对npm提供支持,其实用于npm仓库管理的还有一个工具sinopia,可惜的是早已停止更新。

下载安装

  1. 在官网下载Nexus Repository Manager OSS 3.x, 解压至任意位置.

  2. 管理员运行cmd, 切换到 nexus-3.15.2-01/bin 目录

    nexus.exe /install 进行安装, 成功后会提示 Installed service 'nexus

    nexus.exe /run 运行服务, 第一次要耐心等待很久

  3. 等待启动完毕后, 进入 http://127.0.0.1:8081, 点击右上角 Sign In 登陆, 默认账号: admin 密码: admin123

  4. 如果提示 could not open SCManager 是因为没有使用管理员身份启动cmd

添加npm仓库

配置与验证npm仓库

npm config get registry  #http://registry.cnpmjs.org/
npm config set registry http://localhost:8081/repository/npm-group/
npm init -y
npm --loglevel info install jquery
#查看本地包的缓存地址(和私服无关)命令
npm config get cache
image.png

从上图中可以看到,fetch地址即为私服地址。
查看刚搭建的私服里的内容为空, 在安装了依赖包后,就会有一些被缓存了,下次请求就不会走外网了。


image.png

发布包到私服

npm发布包是需要先登录的,默认是登录到npm官方服务器,若registry已更改为其它地址则可能登录失败,而这里我们只是想把包发布到自己私有的服务器上。

  1. 添加权限认证
    设置权限, Realms 菜单, 将 npm Bearer Token Realm 添加到右边
  2. 创建nx-deploy角色
    给角色赋于一个nx-repository-view-*-*-*权限
    image.png
  3. 创建deployer 用户,密码也为 deployer,同时设定角色为nx-deploy


    image.png
  4. 客户端的.npmrc配置
registry=http://127.0.0.1:8081/repository/npm-group/
email=deployer@skytech.com
always-auth=true
_auth="ZGVwbG95ZXI6ZGVwbG95ZXI="

_auth是 username:password 的base64值,这样设置的好处是publish时就不用login了。

  1. 发布控件到npm私服中
    在package.json 配置
"publishConfig" : {
    "registry" : "http://localhost:8081/repository/npm-hosted/"
  }

在包根目录执行npm publish即可。
如下:

image.png
注意:发布是npm-hosted,不是npm-group.
若不想在package.json配置,也可以在命令行指定,如下:
$ npm publish --registry=http://localhost:8081/repository/npm-hosted/
+ vue-hslider@1.0.0

Nexus3数据备份迁移

内网环境下,很多包需要从外网移入,可以把相关包在外网安装测试成功后,然后将缓存的包直接复制到内网即可。

Linux

Windows

上一篇下一篇

猜你喜欢

热点阅读