HoRain云--Nexus2到Nexus3升级全攻略

🎬 HoRain云小助手:个人主页
🔥 个人专栏: 《Linux 系列教程》《c语言教程》
⛺️生活的理想,就是为了理想的生活!
⛳️ 推荐
前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。
专栏介绍
| 专栏名称 | 专栏介绍 |
| 本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。 | |
| 本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制! | |
| 全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。 | |
| 本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。 | |
| 本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。 | |
| 本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等) |
目录

将 Nexus Repository Manager 2(Nexus2)升级到第3版(Nexus3)是一项重要的改进,能带来更多仓库格式支持、更优的性能和更好的用户体验。下面是一个清晰的升级路线图,帮助你安全平稳地完成迁移。
🔄 官方升级流程概览
根据 Sonatype 官方的建议,升级过程需要遵循特定的版本路径,不可跨版本直接升级。下面的表格清晰地说明了从你的现有版本升级到 Nexus3 的正确路径 :
| 你当前的 Nexus 版本 | 官方推荐的升级路径 |
|---|---|
| Nexus 3.1.0 或更高版本 | 直接升级到最新的 Nexus 3.x 版本 |
| Nexus 3.0.0 到 3.0.2 | 1. 学习 3.1.0 引入的目录布局变更 |
| Nexus 2.x 的最新版本 | 直接升级到最新的 Nexus 3.x 版本 |
| Nexus 2.0 及其他 2.x 版本 | 1. 首先升级到 Nexus 2.x 的最新版本 |
| Nexus 1.x | 1. 先升级到 2.7.2 之前的任何一个 2.x 版本 |
对于大多数从 Nexus2 升级的用户,核心步骤就是先升级到2.x最新版,再升级到3.x。
📋 升级前的关键准备
在开始操作前,充分的准备是成功的基石。
-
环境检查与版本确认:确认当前 Nexus2 的具体版本号,并访问 Sonatype 官网下载 Nexus2 和 Nexus3 的最新稳定版安装包 。
-
全面备份:这是最重要的一步,务必备份整个 Nexus2 的工作目录(通常是
sonatype-work)和应用程序目录 。在进行关键操作前,再次确认备份是否完整可用。 -
规划停机窗口:升级过程需要停止 Nexus2 服务,请提前通知团队并安排合理的维护时间。
💻 升级操作分步详解
以下是升级的核心步骤,你可以根据部署方式参考。
对于原生部署(Linux/Windows)
-
升级到 Nexus 2.x 最新版
-
停止服务:停止当前运行的 Nexus2 服务。
-
安装新版本:解压新下载的 Nexus 2.x 最新版本到新目录。
-
迁移工作目录:用旧版本的工作目录(
sonatype-work)替换新版本应用程序目录下的对应工作目录。这样新版本就能继承所有数据和配置 。 -
调整配置:如果之前修改过端口等配置,需要手动更新新版本对应的配置文件(如
nexus.properties)。 -
启动验证:启动新版本的 Nexus2,访问管理界面,确认所有仓库和数据完好无损。
-
-
升级到 Nexus 3.x 最新版
-
安装 Nexus3:在一台新机器或新目录下安装 Nexus3,不要直接覆盖旧版 Nexus2 。
-
使用内置升级工具:这是官方推荐的迁移方法。
-
在 Nexus2 启用代理:以管理员身份登录 Nexus2,进入 "Administration" → "Capabilities",点击 "Create Capability",选择类型为 "Upgrade: Agent",设置一个安全的 Access Token 并记录 。
-
在 Nexus3 启用升级功能:以管理员身份登录 Nexus3,进入 "Administration" → "System" → "Capabilities",点击 "Create Capability",选择类型为 "Upgrade" 。
-
运行升级向导:在 Nexus3 的 "Administration" 下会出现 "Upgrade" 菜单。按照向导步骤,输入 Nexus2 的访问地址、刚才设置的 Access Token,然后选择需要迁移的仓库和配置,最后开始同步数据 。
-
-
对于 Docker 部署
Docker 环境的升级思路类似,但操作上更容器化。
-
备份数据:停止 Nexus2 容器,并使用
docker cp命令将容器内的sonatype-work目录备份到宿主机 。 -
创建 Nexus3 容器:拉取最新的
sonatype/nexus3镜像,并启动一个临时的 Nexus3 容器 。 -
迁移数据:停止并删除临时 Nexus3 容器,将备份的 Nexus2 数据复制到准备持久化运行的 Nexus3 容器的数据卷中,最后启动正式的 Nexus3 容器 。
⚠️ 重要注意事项与后续工作
-
端口冲突:确保 Nexus2 和 Nexus3 不使用同一个端口(如默认的8081),否则无法同时启动进行数据迁移 。
-
非官方迁移方法:如果官方升级工具不适用(例如对少量特定构件),可以考虑使用脚本批量上传 。
-
升级后检查:迁移完成后,务必仔细检查 Nexus3 中的仓库、用户权限、调度任务等配置是否正确无误。
-
更新客户端配置:通知开发团队将项目中的仓库地址指向新的 Nexus3 服务地址,并清理本地构建工具的缓存(如 Maven 的
.m2/repository目录)以避免使用旧缓存 。
💎 总结与方法对比
| 迁移方式 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 官方升级工具 | 官方推荐,功能完整,能迁移仓库配置、内容和用户权限等 | 需要 Nexus2 和 Nexus3 同时在线,迁移大量数据时可能耗时较长 | 绝大多数情况下的首选,尤其是需要完整迁移数据和配置时 |
| 脚本批量导入 | 灵活,可针对特定目录或构件 | 通常只能上传二进制文件,无法迁移仓库配置、用户权限等元数据 | 作为官方工具的补充,用于迁移少量官方工具未能成功迁移的特定构件 |
希望这份详细的指南能帮助你顺利完成升级!如果你在具体操作中遇到更细致的问题,比如某个特定仓库格式的配置,我很乐意提供进一步的帮助。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙
更多推荐

所有评论(0)