一、NPM私有仓库搭建的意义
安全性(布署在内网,资产安全性高);
复用性,开发效率,版本管理(立足之根本);
提升下载速度;
公司技术输出沉淀积累形成资产化;
二、 Docker部署verdaccio
安装verdaccio与数据持久化
docker pull verdaccio/verdaccio
mkdir -p /opt/docker/verdaccio/conf 存放#config.yaml与htpasswd
mkdir -p /opt/docker/verdaccio/storage #存放包文件
chown -R 10001:65533 /opt/docker/verdaccio/ #给容器添加物理目录读写权限
写入配置文件config.yaml
# path to a directory with all packages
storage: /verdaccio/storage
auth:
htpasswd:
file: /verdaccio/conf/htpasswd
# Maximum amount of users allowed to register, defaults to "+infinity".
# You can set this to -1 to disable registration.
#max_users: 1000
# a list of other known repositories we can talk to
uplinks:
npmjs:
url: https://registry.npm.taobao.org/
packages:
'@*/*':
# scoped packages
access: $all
publish: $authenticated
proxy: npmjs
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
#
# you can specify usernames/groupnames (depending on your auth plugin)
# and three keywords: "$all", "$anonymous", "$authenticated"
access: $all
# allow all known users to publish packages
# (anyone can register by default, remember?)
publish: $authenticated
# if package is not available locally, proxy requests to 'npmjs' registry
proxy: npmjs
# To use `npm audit` uncomment the following section
middlewares:
audit:
enabled: true
# log settings
logs:
- {type: stdout, format: pretty, level: http}
#- {type: file, path: verdaccio.log, level: info}
启动容器
docker run -it --name verdaccio -p 4873:4873 -v /opt/docker/verdaccio/conf:/verdaccio/conf -v /opt/docker/verdaccio/storage:/verdaccio/storage verdaccio/verdaccio