🎬 HoRain云小助手个人主页

 🔥 个人专栏: 《Linux 系列教程》《c语言教程

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

《C语言》

本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。

《网络协议》

本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux系列》

本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。

《python 系列》

本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。

《试题库》

本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等)

目录

⛳️ 推荐

专栏介绍

🔄 官方升级流程概览

📋 升级前的关键准备

💻 升级操作分步详解

对于原生部署(Linux/Windows)

对于 Docker 部署

⚠️ 重要注意事项与后续工作

💎 总结与方法对比


img

将 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 引入的目录布局变更
2. 升级到最新的 3.x 版本

Nexus 2.x 的最新版本

直接升级到最新的 Nexus 3.x 版本

Nexus 2.0 及其他 2.x 版本

1. 首先升级到 Nexus 2.x 的最新版本
2. 再从 2.x 最新版升级到最新的 Nexus 3.x 版本

Nexus 1.x

1. 先升级到 2.7.2 之前的任何一个 2.x 版本
2. 然后升级到 Nexus 2.x 最新版
3. 最后升级到最新的 Nexus 3.x 版本

对于大多数从 Nexus2 升级的用户,核心步骤就是先升级到2.x最新版,再升级到3.x

📋 升级前的关键准备

在开始操作前,充分的准备是成功的基石。

  1. 环境检查与版本确认:确认当前 Nexus2 的具体版本号,并访问 Sonatype 官网下载 Nexus2 和 Nexus3 的最新稳定版安装包 。

  2. 全面备份:这是最重要的一步,务必备份整个 Nexus2 的工作目录(通常是 sonatype-work)和应用程序目录 。在进行关键操作前,再次确认备份是否完整可用。

  3. 规划停机窗口:升级过程需要停止 Nexus2 服务,请提前通知团队并安排合理的维护时间。

💻 升级操作分步详解

以下是升级的核心步骤,你可以根据部署方式参考。

对于原生部署(Linux/Windows)
  1. 升级到 Nexus 2.x 最新版

    • 停止服务:停止当前运行的 Nexus2 服务。

    • 安装新版本:解压新下载的 Nexus 2.x 最新版本到新目录。

    • 迁移工作目录:用旧版本的工作目录(sonatype-work替换新版本应用程序目录下的对应工作目录。这样新版本就能继承所有数据和配置 。

    • 调整配置:如果之前修改过端口等配置,需要手动更新新版本对应的配置文件(如 nexus.properties)。

    • 启动验证:启动新版本的 Nexus2,访问管理界面,确认所有仓库和数据完好无损。

  2. 升级到 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 环境的升级思路类似,但操作上更容器化。

  1. 备份数据:停止 Nexus2 容器,并使用 docker cp命令将容器内的 sonatype-work目录备份到宿主机 。

  2. 创建 Nexus3 容器:拉取最新的 sonatype/nexus3镜像,并启动一个临时的 Nexus3 容器 。

  3. 迁移数据:停止并删除临时 Nexus3 容器,将备份的 Nexus2 数据复制到准备持久化运行的 Nexus3 容器的数据卷中,最后启动正式的 Nexus3 容器 。

⚠️ 重要注意事项与后续工作

  • 端口冲突:确保 Nexus2 和 Nexus3 不使用同一个端口(如默认的8081),否则无法同时启动进行数据迁移 。

  • 非官方迁移方法:如果官方升级工具不适用(例如对少量特定构件),可以考虑使用脚本批量上传 。

  • 升级后检查:迁移完成后,务必仔细检查 Nexus3 中的仓库、用户权限、调度任务等配置是否正确无误。

  • 更新客户端配置:通知开发团队将项目中的仓库地址指向新的 Nexus3 服务地址,并清理本地构建工具的缓存(如 Maven 的 .m2/repository目录)以避免使用旧缓存 。

💎 总结与方法对比

迁移方式

优点

缺点

适用场景

官方升级工具

官方推荐,功能完整,能迁移仓库配置、内容和用户权限等

需要 Nexus2 和 Nexus3 同时在线,迁移大量数据时可能耗时较长

绝大多数情况下的首选,尤其是需要完整迁移数据和配置时

脚本批量导入

灵活,可针对特定目录或构件

通常只能上传二进制文件,无法迁移仓库配置、用户权限等元数据

作为官方工具的补充,用于迁移少量官方工具未能成功迁移的特定构件

希望这份详细的指南能帮助你顺利完成升级!如果你在具体操作中遇到更细致的问题,比如某个特定仓库格式的配置,我很乐意提供进一步的帮助。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

更多推荐