Nexus 要点
Nexus Repository 是一个多格式制品仓库:同一个服务里可以托管 Maven、npm、PyPI、NuGet、Docker、raw 等多种格式的制品,覆盖两类需求——把公网依赖缓存到内网(proxy 代理仓库)、把自研包与镜像托管给团队(hosted 私有仓库),再用 group 聚合仓库给消费方一个统一入口地址。内网隔离环境里,它是 CI 拉依赖的稳定来源:公网抖动时已缓存的依赖照常可用。运维层面关注三件事:blob 存储容量与清理策略、按仓库的清理规则、以及包含 blob 与数据库的完整备份。
基本信息
| 格式 | Maven2、npm、PyPI、NuGet、Docker、raw 等 |
|---|---|
| 仓库类型 | proxy 代理公网、hosted 私有托管、group 聚合入口 |
| 入口 | Web 界面默认 8081;Docker 格式另配连接器端口 |
| 运维 | blob 存储、清理策略、任务与备份 |
| 发布路径 | push 到 hosted,消费走 group |
典型使用场景
- 内网 CI 拉依赖:公网不通或限速时从代理仓库取,流水线稳定。
- 私有包发布:内部组件通过 npm publish 或 mvn deploy 发布到托管仓库。
- 统一入口:团队只配 group 地址,不感知后端仓库拆分。
- 带宽与成本:公网依赖只下载一次,其余请求走内网缓存。
- 可信来源:企业统一制品来源,配合扫描与审计。
- 平滑迁移:从直连公网切到 Nexus,消费地址保持不变。
npm 指向 Nexus
npm 指向 Nexus
npm config set registry https://nexus.example.com/repository/npm-group/ # 消费走 group
npm publish --registry https://nexus.example.com/repository/npm-releases/ # 发布走 hosted三类仓库
| 类型 | 角色 | 说明 |
|---|---|---|
| proxy | 代理缓存公网仓库 | 按需缓存,可设离线策略 |
| hosted | 私有托管 | 发包与内部制品的归宿 |
| group | 聚合只读入口 | 把多个仓库合成一个地址 |
group 是只读聚合:发布必须走 hosted,把发布地址配成 group 会直接失败。
清理策略配合磁盘管理:不做清理的缓存仓库会吃满磁盘,按保留规则定期执行任务。
备份要连 blob 一起备:只备数据库不备 blob,恢复后制品会全部丢失。