背景
NPM上为我们提供了许多官方安装包,我们可以从npmjs中上传或者下载npm安装包,但是:
- 由于网络的限制,会导致npm包的上传和下载速度较慢;
- 生产使用的npm包中包含了许多隐私信息,若放到NPM仓库上容易被外部人员获取。
技术选型
- cnpm
- verdaccio
- sinopia
- nexus (本案例选择该技术)
nexus优点
- 支持多种类型的仓库,如:Docker、Npm、Nuget等
- 集成LDAP
- 支持权限管理
- 支持Webhook
环境
- docker && docker-compose
- 10.0.95.63 主机(暂时使用个人电脑作为私人镜像仓库服务器)
- 安装Docker,通过Docker镜像安装
- 端口映射:
外部端口 | 映射端口 | 仓库类型 | 描述 |
---|---|---|---|
5565 | 8081 | group | 后台访问主端口;同时是安装依赖的主端口,包含下面两种类型的仓库 |
5567 | 8082 | hosted | 私有仓库,内部开发上传的仓库,不对外暴露 |
5566 | 8083 | proxy | 代理仓库,即第三方仓库,如taobao |
搭建私人仓库
-
拉取nexus官方docker镜像
docker pull sonatype/nexus3 # 官方镜像 docekr pull 10.0.95.63:5566/nexus