Skip to content

Nexus Repository

Nexus Repository 是常见的制品仓库管理器,可以代理公共软件源并托管组织内部制品。它适合为 npm、Maven、PyPI、NuGet 和通用文件提供统一的下载与发布入口。

核心概念

  • proxy:代理外部软件源并缓存已经下载的制品。
  • hosted:保存组织内部发布的私有制品。
  • group:将多个 proxy 和 hosted 仓库聚合为一个访问地址。

典型做法是让开发环境和 CI 只访问 group 仓库。Nexus 根据配置先查找内部制品和缓存,必要时再请求外部源。

npm 使用方式

将项目的下载地址指向 npm group 仓库:

ini
registry=https://nexus.example.com/repository/npm-group/

发布私有包时使用单独的 hosted 仓库,并通过项目级 .npmrc 或流水线密钥提供身份凭据。不要把访问令牌提交到代码仓库。

生产建议

  • 将下载权限和发布权限分离,发布权限只授予流水线及少数维护者。
  • 公共代理、私有发布和快照制品使用不同仓库,分别设置清理策略。
  • 禁止覆盖正式版本;修复后发布新版本,而不是替换已经使用的制品。
  • 备份 blob 数据、数据库和配置,并定期执行恢复演练。
  • 对外部依赖设置允许列表、漏洞检查或隔离流程,避免未经验证的依赖直接进入生产构建。

如果只需要简单的 npm 私有仓库,可以先评估更轻量的方案;需要同时管理多种包格式、统一权限和缓存时,Nexus 更有价值。

Powered by VitePress