大家好,又见面了,我是你们的朋友全栈君。
目前 Nexus 分为 Nexus 2 和 Nexus 3 两个大版本,它们是并行的关系。与 Nexus 2 相比,Nexus 3 具有很多优势,例如支持更多的仓库格式、优化了用户的使用界面以及更加强大的搜索功能等等。
目前使用最多的,运行最稳定是 Nexus 2,但随着 Nexus 3 对 Maven 的支持越来越稳定,很多公司和组织都陆续开始使用 Nexus 3。
本节我们将介绍 Nexus 3 的安装和访问过程。
1. 进入 Nexus 3.x 下载页面(目前最新版是 3.30.0-01),根据操作选择相应的版本进行下载。
图1:Nexus 下载页面
2. 将下载的安装包解压到本地,可获得 nexus-3.30.0-01 和 sonatype-work 两个目录,如图 2。
图2:Nexus 解压
其中:
我们可以在 nexus-3.30.0-01\bin 目录下发现一个名称位 nexus.exe 的可执行文件,它是在 Windows 平台上运行 Nexus 的启动脚本,该脚本包含了启动服务、停止服务、创建服务和删除服务等命令。
打开命令行窗口,跳转到 nexus-3.30.0-01\bin 目录下,执行以下命令,启动 Nexus 服务。
nexus /run
执行结果结果如图 3 所示,则表示 Nexus 启动完成。
图3:Nexus 3 启动完成
启动完成后,在浏览器地址栏输入 http://localhost:8081/,访问 Nexus 界面,如图 4 所示。
4:Nexus 3 用户界面
点击 Nexus 3.x 首页右上角的“Sign in”按钮,在登录页面输入用户名和 密码(默认用户名为 admin,默认密码则保存在 /sonatype-work/nexus3 目录下的 admin.password 文件中),点击“Sign in”按钮登录,如图 5 所示。
图5:Nexus 3 登录界面
登录成功后,结果如图 6 所示。
图6:Nexus 3 登录成功
与 Nexus 2.x 相比,Nexus 3.x 为我们提供了更多实用的新特性,随着 Nexus 3.x 对 Maven 的支持越来稳定,很多公司和组织都陆续将数据从 Nexus 2.x 迁移升级到 Nexus 3.x。
SonaType 官方建议我们,使用最新版本 Nexus 2.x 升级到最新版本 Nexus 3.x,并在 Nexus 升级兼容性 一文中为我们提供了各个版本 Nexus 升级到最新版本 Nexus 3.x 的流程,如下表。
旧版本 | 升级流程 |
---|---|
3.1.0 或更高版本 | 升级到最新 3.x 版本 |
3.0.0 到 3.0.2 | 学习 3.1.0 中引入的重要目录布局 升级到最新 3.x 版本 |
最新 2.x 版本 | 升级到最新 3.x 版本 |
2.0 及 其他 2.x 版本 | 升级到最新 2.x 版本 升级到最新 3.x 版本 |
1.x | 升级到 2.7.2 之前的任何 2.x 版本 升级到最新 2.x 版本 升级到最新 3.x 版本 |
3.0.0 到 3.0.2
最新 2.x 版本
2.0 及 其他 2.x 版本
1.x
注:Nexus 1.x 不支持直接升级到 2.7.2 之后的版本
由上表可知,从 Nexus 2.x 升级到 Nexus 3.x 需要 2 步:
本节我们以 Nexus 2.11.4-01 为例,演示如何将 Nexus 2.x 升级到 Nexus 3.x。
下载并解压最新版本的 Nexus 2.x(目前为 Nexus-2.14.20-02),具体下载和解压步骤请参考 Nexus 2.x 下载和安装
无论是 Nexus 2.x 还是 Nexus 3.x,其安装包在解压后都包含两部分:
若 Nexus 的版本升级是在大版本相同的情况下进行的(例如从 Nexus 2.11.4-01 升级到 Nexus-2.14.20-02),则只需要将新的 Nexus 工作目录复制到现有版本的目录下,替换旧版本 Nexus 的工作目录即可。
如果用户对以下文件的默认配置进行了任何更改,则需要在新版本中手动进行相同的更改,Nexus 不支持将这些文件从一个版本复制到另一个版本。
由于 Nexus 升级迁移过程需要同时启动 Nexus 2.x 和 Nexus 3.x,为了防止端口(两者默认端口都是 8081)冲突,我们可以将 Nexus 2.x 启动时监听的端口(端口在 <应用程序目录>/conf/nexus.properties 中配置)修改为 8082。
图1:修改 Nexus 端口
在以上步骤完成后,如果旧版本 Nexus 是作为 Windows 服务运行的,那么我们需要将旧版本的 Nexus 服务卸载,然后使用新实例重新安装 Nexus 服务,具体操作步骤如下。
1) 使用 win +R 快捷键,打开运行窗口,输入 services.msc,点击确定按钮,如图 2 所示。
图2:运行窗口
2)进入Windows 服务列表,找到服务名为 nexus 的服务。
图3:nexus 服务
3)双击 nexus 服务,打开服务属性窗口,可以看到该服务指向的是旧版本的 Nexus 2.x。
图4:nexus 服务属性
4)在旧版本 Nexus 应用程序目录下的 bin\jsw\windows-x86-64 目录(根据本机操作系统而定)中,以管理员身份运行 uninstall-nexus.bat,卸载 nexus 服务。
图5:卸载现有版本 Nexus 的服务
5)在新版本 Nexus 应用程序目录下的 bin\jsw\windows-x86-64 目录(根据本机操作系统而定)中 ,以管理员身份运行 install-nexus.bat,安装 nexus 服务。
图6:安装新版本 Nexus 服务
6)再次进入服务列表,查看 nexus 服务属性,可以看到该服务已经指向新版本 Nexus 实例。
图7:nexus 服务指向新版本 Nexus
在新版本 Nexus 的 <应用程序目录>\bin\jsw\windows-x86-64 目录(根据本机操作系统而定),以管理员身份运行 start-nexus.bat。启动成功后,在浏览器地址栏输入:http://localhost:8082/nexus,访问新版本 Nexus 2.x 用户界面。
图8:升级后 Nexus 界面(猛击图片,查看原图)
将 Nexus 2.x 升级到 Nexus 3.x,从本质上说就是将 Nexus 2.x 中的数据传输或迁移到 Nexus 3.x。
Nexus 2.x 升级到 Nexus 3.x 通常需要如下 4 步:
Nexus 2.x 升级到 Nexus 3.x 的第一步,就是在 Nexus 2.x 中开启 Upgrade: Agent 功能,操作步骤如下。
1)在 Nexus 2.x 用户界面左侧的导航栏中,点击 Administration 下的 Capabilities,查看 Nexus 2.x 功能列表,如下图。
图9:Nexus 2.x 功能列表
2)点击 Capabilities 列表上方的 New 按钮,新建一个类型(Type)为 Upgrade: Agent 的功能,并填写 Access Token,最后点击下方的 Add 按钮,如下图。
图10:Nexus 2.x 添加 Upgrade: Agent 功能
3) 返回列表页,可以看到已经添加了 Upgrade: Agent,选中该功能可以在下方查看或修改其中配置,如下图。
图11:Nexus 2.x Upgrade:Agent
这里需要注意的是,Access Token 扮演的角色十分的重要,它是 Nexus 之间数据传输的重要凭证之一。
接下来,我们需要在 Nexus 3.x 中开启 Upgrade 功能,用来接收来自 Nexus 2.x 传输的数据,具体步骤如下。
1)点击最上方的齿轮状图标,切换到 Nexus 3.x “管理和配置”模块,然后点击 System 下的 Capabilities ,查看 Nexus 3.x 功能列表,如下图。
图12:Nexus 3.x 功能列表(猛击图片,查看原图)
2)点击列表上方的 Create capability 按钮,创建一个类型(Type)为 Upgrade 的功能,如下图。
图13:Nexus 3.x 新建 Upgrade 功能
3)随后我们发现,不但在功能列表中新增了一条类型为 Upgrade 的数据,而且在 System 下还多出了一个 Upgrade 菜单,如下图。
图14:Nexus 3.x 新增 Upgrade 菜单
1)Nexus 3.x 启用升级功能后,点击 System 下的 Upgrade ,进入升级程序概述。概述中介绍了升级过程中的注意事项、允许升级的内容、无法升级的内容。阅读完成后,点击下方的 Next 按钮。
图15:Nexus 升级程序概述(猛击图片,查看原图)
2)跳转到 “代理链接(Agent Connection)”页面,配置 URL 、Access Token 等字段,配置完成后,点击下方的 Next 按钮。
图16:Nexus 代理连接
以上字段说明如下:
3)跳转到“内容”页面,在该页面中,我们需要选择升级过程中传输的内容,包括以下 2 项:
选择完成后,点击下方的 Next 按钮。
图17:Nexus Content
4)跳转到“仓库默认设置(Repository Defaults)”页面,设置仓库内容的存储位置(Blob store)以及数据传输方式(Data Transfer Method),设置完成后,点击下方的 Next 按钮。
图18:Nexus 3.x Repository Defaults
5)跳转到“仓库(Repositories)” 页面,选择迁移的仓库,选择完成后,点击下方得 Next 按钮,如下图。
图19:Nexus 升级 仓库选择
除了选择升级得仓库,点击仓库列表最后一列的配置图标,可以为仓库自定义升级选项,如下图。
图20:Nexus 仓库自定义升级选项
6)配置完成后,点击最下方的 Next 按钮,跳转到 “预览(Preview)”页面。该页面中展示了所有的升级配置信息,确认无误后,点击下面的 Begin 按钮,开始运行升级程序,如下图。
图21:Nexus 升级预览
7)开始升级前,会先跳转到 “准备(Preparing)”页面,先进行简短的准备工作。当准备工作进度条到达 100% 后,点击下方的 Continue 按钮,继续进行下一步。
: 图22:Nexus 升级准备工作(猛击图片,查看原图)
8)跳转到“同步(Synchronizing)”页面,在这里 Nexus 升级程序会执行两步操作,扫描仓库和数据同步。仓库扫描完成后,点击下方的 Continue 按钮,开始同步数据。同步开始以后,再对 Nexus 2.x 仓库所做的任何修改都不会同步到 Nexus 3.x 中。
图23:Nexus 同步(猛击图片,查看原图)
9)同步完成后,点击下方的 Done 按钮,退出升级程序。
图24:Nexus 迁移升级完成(猛击图片,查看原图)
10)点击最上方的立方体图标,切换到 Nexus 3.x “浏览”模块,点击左侧的 Browse 菜单,浏览 Nexus 3.x 仓库列表,可以看到 Nexus 2.x 中的仓库及构件都已经迁移到 Nexus 3.x 了。
图25:Nexus 3.x 升级仓库列表
至此,我们就完成了将数据从 Nexus 2.x 迁移到 Nexus 3.x 的全部工作。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/154309.html原文链接:https://javaforall.cn
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有