首页/开发/CI/CD 与发布速查/Nexus Repository 要点
构建与制品管理58 条

Nexus Repository 要点

多格式制品仓库:支持 Maven、npm、PyPI、Docker(含代理)等格式,proxy/hosted/group 三类仓库覆盖代理缓存与私有托管。

CI/CD 与发布速查开发更新于 2026-10-13

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,恢复后制品会全部丢失。

易错点

  • 发布到 group 地址:请求失败或行为异常;消费与发布地址分开配置。
  • 没有清理策略:磁盘爆满拖垮服务;配置定期清理与容量告警。
  • 单实例无冗余:实例故障等于 CI 全线拉不到依赖;做好备份演练,关键项目留本地缓存兜底。
  • 匿名访问没收紧:内部制品外泄;按需开启鉴权与最小权限。
  • 手动全量搬运公网仓库:存储浪费严重;用按需代理缓存。

数据来源与参考

  • Sonatype Nexus Repository 文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌