npm发布私有仓库 (verdaccio+pm2+钉钉推送)

443 阅读2分钟

搭建团队的私有仓库,保证团队组件的安全维护和私密性,是进阶前端开发主管路上,必不可少的一项技能

优势

  • 私密性高,仅团队共享。
  • 安全性高,能够有效的防治恶意代码攻击。
  • 使用局域网,传输速度快。

npm常见操作

  • 查看源地址

** 有助于区分 源的地址来选择是发布npm官网或者私服

npm config list
  • 切换源地址
npm set <registry> <url>
  • 删除源地址
npm config rm <registry>
  • 登录
npm login
  • 发布 升级
npm version patch  
npm publish

使用verdaccio搭建私有npm服务

  • 安装
npm install -g verdaccio
  • 运行。启动时间会很久,断开cmd会关掉服务,可以使用pm2守护进程即可。

**

// 访问http://localhost:4837
verdaccio
  • 配置config.yaml,使局域网下能共享访问,否则只能本机访问。
// 最后面添加以下配置
listen: 0.0.0.0:4873
  • 注册verdaccio账号,一定要先保证切换到本地的源仓库的前提下,因为你注册的账号是保存在对应仓库源上的。

  • pm2

安装pm2并使用pm2启动verdaccio,使用pm2托管的进程可以保证进程永远是活着的

npm install -g pm2
//路径为bin下的verdaccio 否则status会一直stoped
pm2 start C:\Users\Administrator\AppData\Roaming\npm\node_modules\verdaccio\bin\verdaccio
pm2 stop verdaccio //停止某个服务 
pm2 stop all //停止所有服务
pm2 restart //重启服务
  • 上传仓库
// 输入账号和密码
npm adduser

// 登录
npm login
// 发布
npm publish --registry http://localhost:4873/ or npm publish

可以适当选择nrm,使用这个就可以快速地在 npm 源间切换,简化npm命令操作

  • 安装
npm install -g nrm
  • 查看源地址
nrm ls
  • 添加新的源地址
nrm add <registry> <url>
  • 切换源地址
nrm use <registry>
  • 删除源地址
nrm del <registry>

权限把控

  • 限制 npm 包的查看,只能为已注册的用户
  • 禁止用户注册(在团队成员已注册实现后)

image.png 都是用来设置包相干的权限,它有三个可选值 $all(所有人)、$anonymous(未注册用户)、$authenticated(注册用户)。那么,上面咱们别离看一下这 3 个参数的含意:

钉钉推送

需要看文档获取 webhook

open.dingtalk.com/document/gr…

image.png

!需要后端配合jar包