maven私服nexus2.12.1迁移升级到nexus3.19.1

现在公司用的nexus是2.12.1的版本的,对比现在的3版本来说少了很多的功能,所以就打算把nexus迁移升级到现在的最新版本3.19.1。

一、升级思路

首先来看一下官网对升级的要求。

maven私服nexus2.12.1迁移升级到nexus3.19.1_第1张图片

在第5行和第6行可以看到,最新的2.x版本,可以直接升级到3.x版本;其他的2.x版本都需要先升级到最新的2.x版本,然后再升级到最新的3.x版本。

在nexus2的下载页面可以看到,现在nexus2的最新版本是2.14.14

maven私服nexus2.12.1迁移升级到nexus3.19.1_第2张图片

在nexus3的下载页面可以看到,现在nexus3的最新版本为3.19.1

maven私服nexus2.12.1迁移升级到nexus3.19.1_第3张图片

所以思路就很清晰了:2.12.1–>2.14.14–>3.19.1。

当然,官网中也给出了2.x升级到3.x的版本升级兼容性的表格,如果你的2.x版本在这个表中,可以直接升级到对应的3.x版本。比如说你的nexus版本是2.14.5,那你可以直接升级到3.7.1版本。

maven私服nexus2.12.1迁移升级到nexus3.19.1_第4张图片

但是并不是所有的2.14.x版本都可以升级到3.x版本,所以官网一再强调:最好是用最新版本的2.x升级到最新版本的3.x,这样可以避免兼容性的问题。

下面是我在虚拟机上做的演示(正式环境的已经升级迁移完成了,哈哈)。

二、环境

我这里准备了三台服务器,每台服务器放一个版本的nexus私服。

服务器 nexus版本
192.168.0.126 2.12.1
192.168.0.127 2.14.14
192.168.0.128 3.19.1

三、2.12.1迁移到2.14.14版本

2.12.1版本迁移到2.14.14版本比较简单,直接把192.168.0.126上把2.12.1版本nexus的sonatype-work整个目录进行备份,然后把备份文件拷贝到192.168.0.127上的nexus2.14.14的对应目录中进行解压(就是替换掉sonatype-work目录),重启nexus服务就ok了。

重启完之后,可以看到已经把旧版本的数据迁移过来了。

maven私服nexus2.12.1迁移升级到nexus3.19.1_第5张图片

四、2.14.14版本迁移到3.19.1版本

1、在2.14.14版本的nexus上配置"Upgrade:Agent"

“Administration”–>“Capabilities”–>“New”–>选择"Upgrade:Agent"–>自定义"Access Token"的值–>点击"Add"添加

maven私服nexus2.12.1迁移升级到nexus3.19.1_第6张图片

上图中的第4步中可以对"Access Token"的值进行自定义,这个token在迁移的时候会用到,所以最好是设置成简单点的,容易记。我这边就设置成123456,方便记忆。

点击"Add"之后,"Upgrade:Agent"就生成了。

maven私服nexus2.12.1迁移升级到nexus3.19.1_第7张图片

2、在3.19.1版本的nexus上配置Upgrade

1)创建一个Upgrade

“System”–>“Capabilities”–>“Create capability”–>选择"Upgrade"–>点击"Create capability"

maven私服nexus2.12.1迁移升级到nexus3.19.1_第8张图片

创建好之后,在System中会生成"Upgrade"。

maven私服nexus2.12.1迁移升级到nexus3.19.1_第9张图片

2)配置Upgrade

“System”–>“Upgrade”

maven私服nexus2.12.1迁移升级到nexus3.19.1_第10张图片

点击"Next"。

maven私服nexus2.12.1迁移升级到nexus3.19.1_第11张图片

URL:填写2.14.14版本的地址。
Access Token:填写之前自定义的token值,我这边是123456。
Fetch Size:使用默认值。
填写完之后,点击"Next"。

maven私服nexus2.12.1迁移升级到nexus3.19.1_第12张图片

选择要迁移的内容,这里把两个都勾选上。
点击"Next"。

maven私服nexus2.12.1迁移升级到nexus3.19.1_第13张图片

Blob store:选择blob存储。我在开始迁移之前创建了另一个maven-blob存储,所以这边选择maven-blob。
Method:选择用什么方式迁移老仓库。这边用默认的Download。
点击"Next"。

maven私服nexus2.12.1迁移升级到nexus3.19.1_第14张图片

选择要迁移的仓库,根据实际情况选择就行。
点击"Next"。

maven私服nexus2.12.1迁移升级到nexus3.19.1_第15张图片

这是一个预览界面,没什么好说的,点击"Begin"开始吧。

maven私服nexus2.12.1迁移升级到nexus3.19.1_第16张图片

这个页面是迁移开始前的准备情况,看到全都是100%,点击"Continue"继续。

maven私服nexus2.12.1迁移升级到nexus3.19.1_第17张图片

点击"Continue"。

maven私服nexus2.12.1迁移升级到nexus3.19.1_第18张图片

可以看到,迁移已经完成了。
点击"Done"之后,整个迁移就完成了。

迁移完成之后,可以去Browse中看一下。

maven私服nexus2.12.1迁移升级到nexus3.19.1_第19张图片

圈出来的5个仓库是刚才迁移过来的,再看看具体的内容(太多了,我就截取一部分好了)。

maven私服nexus2.12.1迁移升级到nexus3.19.1_第20张图片

跟之前旧版本中的做一下对比,完全一致。

如果再不放心,可以把公司的项目的放到一个新的服务器上,配置一下maven的settings文件指向这个新的nexus3.19.1的地址,然后进行编译打包测试。

这样,从nexus2.x迁移到3.x的一个完整的过程就讲完了。

参考文章:
https://help.sonatype.com/repomanager3/upgrade-compatibility---repository-manager-2-to-3
https://www.cnblogs.com/liangyou666/p/9439755.html
http://www.eryajf.net/1868.html

你可能感兴趣的:(Nexus私服,nexus)