Nexus 私有制品库搭建

2022-04-15 15:41:00 浏览数 (1)

1. Nexus 概述

Nexus 是Maven 仓库管理器,管理开发所需要的构件。如果每次都是从 Apache 提供的 Maven中央仓库去下载所需要的构件,那么这通常不是一个好的做法。应该在本地架设一个Maven仓库服务器,再代理远程仓库的同时维护本地仓库,以节省带宽和时间,那么Nexus可以满足这样的需求。

Nexus Repository Manager 仓库管理分为专业版和oss版,oss版是免费的,专业版是收费的。

nexus 的功能非常强大。Nexus 2.x 和 Nexus 3.x 的差别也是非常大;Nexus 3.x 版本更增加了对 Docker、NuGet、npm、Bower的支持。全面升级了页面,增加管理接口以自动管理任务,性能和用户体验也都有所改善。

2. 安装Nexus

  • 下载
代码语言:javascript复制
https://help.sonatype.com/repomanager3

根据操作系统类型选择具体的安装包。官网几乎下载不动,可以从以下地址下载:

Nexus 3.x

代码语言:javascript复制
链接:https://pan.baidu.com/s/1Cdo4kNpcv__cHmhtD1RMig   提取码:3pqx
https://download.csdn.net/download/qq_25996219/15902263

Nexus 2.x

代码语言:javascript复制
https://pan.baidu.com/s/1pKFEzv9
  • 安装

下载下来是一个zip压缩包,直接解压即可。这里解压到如下目录

代码语言:javascript复制
C:jenkinsnexus3

Nexus的主目录分为两个,分别是安装目录和数据目录

安装目录

代码语言:javascript复制
C:jenkinsnexus3nexus-3.30.0-01

数据目录

代码语言:javascript复制
C:jenkinsnexus3sonatype-worknexus3

3. 启动Nexus

直接双击 bin 目录下的 nexus.exe 文件是无法启动 Nexus的。需要打开一个 cmd 命令行窗口,然后进入该目录,执行命令

代码语言:javascript复制
nexus.exe /run

出现上图标红框里的提示说明启动成功,可以访问如下地址验证是否启动成功。

代码语言:javascript复制
http://localhost:8081  

管理员 admin 的密码存储在如下文件

代码语言:javascript复制
C:jenkinsnexus3sonatype-worknexus3admin.password

4. Nexus说明

4.1 仓库类型说明

Nexus 可以配置3种类型的仓库,分别是proxyhostedgroup

  • Proxy 远程仓库的代理:比如说在Nexus中配置了central repository的proxy,当用户向这个proxy请求一个构件时,这个proxy就会先在本地查找,如果找不到的话,再去远程仓库下载,返回给用户。相当于一个中转的作用。
  • Hosted 宿主仓库:用户可以把一些自己的构件,deploy 到 hosted 中。
  • Group 仓库组:在 Maven 里没有这个概念,是 Nexus 特有;目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要配置多个地址,只要统一配置 Group 地址就OK了。

4.2 仓库说明

  • Central Repository 的 proxy 可能就是最关键的一个配置,因为绝大部分构件都是通过这个 proxy 得到的。在安装完 Nexus,这个 proxy 是预置的,代理了远程服务https://repo1.maven.org/maven2/,网上有一些其他公开的Maven仓库,可以用同样的办法,在Nexus中配置Proxy (如下图maven-public)
  • Hosted Repository 一般会配置3个,分别是3rd party,snapshots,releases,分别用来保存第三方的 jar,公司内部 jar 包的快照,公司内部的发布版 (如下图 maven-releases,maven-snapshots)
  • Group Repository 是一个虚拟的仓库,通过对实体仓库聚合对外暴露统一的地址 (如下图maven-public)

0 人点赞