一 升级背景
Nexus2.x版本无法支持前端仓库(原因:Nexus2.x版本的npm仓库不支持范围),导致前端无法使用内网的私有仓库,构建比较慢,特别是在jenkins上构建时,每次都需要去公网下载依赖包,导致一次构建时长在6分钟左右。
而Nexus3.x已经对npm仓库的范围做了支持。
原2.x版本是 2.11.2-03
原2.x版本home目录:/usr/local/nexus/nexus-2.11.2-03
原2.x版本工作目录:/usr/local/nexus/sonatype-work/nexus
二 升级前调研、备份
查看官方升级文档如下:
从官方文档得知,升级并不能简单的直接把现有的2.x直接升级到3.x,必须先把直线的2.x升级到2.x的最新版本,再升级到3.x。
升级前备份并停止服务
主要是备份 /usr/local/nexus/sonatype-work
1 | /usr/local/nexus/nexus-2.11.2-03/bin/nexus stop |
三 操作升级
1 升级到2.x最新版本
直接下载2.x最新版本,启动
1 | # 下载下来的nexus的文件名: nexus-2.14.19-01-bundle.tar.gz |
到此为止升级到2.x最新版本已经完成
2 升级到3.x版本
3.x改动很大,是无法直接共用原有的工作目录的,所以就会涉及到2.x数据迁移到3.x数据的过程。
该过程中,2.x和3.x都是需要同时启动的。
3 安装3.x版本
到官网下载最新的包 https://help.sonatype.com/repomanager3/download/
安装目录也是在 /usr/local/nexus 下
1 | cd /usr/local/nexus |
4 原有仓库从neuxs2.x迁移到3.x
需要在2.x上配置升级代理”Upgrade Agent“
在nexus3.x上执行Upgrade
先增加Upgrade Capacity
再执行升级
后续Next步骤根据需要自行选择即可不再截图展示。
5 升级完成后修改端口关闭nexus2.x
1 | /usr/local/nexus/nexus-2.14.19-01/bin/nexus stop |
到此整个升级已经完成,并且完美兼容了以前指定的仓库路径。