前言
公司默认安装的nexus版本是2.5的版本,由于一些原因需要升级一下nexus,现在比较新的版本是nexus3.x的版本,直接从nexus2.0升级到nexus3,需要保证nexus2是最新的版本。
参考链接
nexus 2.X版本升级 3.X版本
nexus私服2.x升级nexus3.x,数据迁移
操作步骤
下载地址
比较新的版本都要求JDK的版本在1.8以上,因此需要安装JDK1.8.
Nexus Repository Manager OSS 2.14.18下载地址
Download Archives - Repository Manager 3下载地址
升级到2.X的最新版本
下载好nexus-2.14.18-01-bundle.tar.gz
之后直接解压,然后进入/home/maven2/nexus-2.14.18-01/bin
目录直接启动就就可以了,启动命令./nexus start
.
[maven2@localhost ~]$ ll
total 81552
drwxr-xr-x 2 root root 4096 Jun 22 18:31 dd
drwxr-xr-x 8 maven2 maven2 4096 May 18 21:59 nexus-2.14.18-01
-rw-rw-r-- 1 maven2 maven2 83493896 Jun 22 18:08 nexus-2.14.18-01-bundle.tar.gz
drwxr-xr-x 4 maven2 maven2 4096 Jun 22 19:02 sonatype-work
[maven2@localhost ~]$
2.X迁移数据
正常情况
nexus默认的2.X版本存放数据的位置是/home/maven2/sonatype-work/nexus
,如果版本相差不大,可以直接把原来的目录文件夹直接拷贝过来就可以了,前提的存放的目录要一样,如果不一样需要修改一些配置文件的仓库路径。
异常情况
由于我原来的版本是nexus2.5版本,升级到nexus2.14版本,版本相差还挺大的,我直接把/home/maven2/sonatype-work/nexus
拷贝过去启动不了,
遇到一个错误大概是这样的,这样的错误应该不准确,只能作为参考,这意思呢就是这个目录的文件夹已经存在了,但是疑问点就是目录已经存在了为什么还要创建呢,原因是nexus2.14的版本和nexus2.5版本的配置文件不兼容,/home/maven2/sonatype-work/nexus
目录下面不仅存放了jar包相关数据,也会初始化一些与nexus版本相关的一些配置,这个时候就需要把不见的配置文件替换成nexus2.14的版本。
java.lang.IllegalStateException: Nexus work directory already in use: /home/maven2/sonatype-work/nexus
不兼容的文件如下图,大概是三个文件(我只修改了三个文件),我使用nexus2.14的版本启动之后生成的/home/maven2/sonatype-work/nexus
目录下面的conf文件夹下面的内容全部拷贝过来了,然后启动发现竟然启动成功了,这里需要多试试,可以先把我标注的这几个文件替换一下看看能不能启动起来。
启动之后看新的nexus有没有原来的jar包。
nexus2x升级到nexus3.x
官方升级手册
在nexus2.X的版本选择:Administration->Capabilities->New ->选择Upgrade: Agent
如下图
选好之后是这样的。
在nexus3.X的版本上设置
nexus3.x登录之后,选择图中这个设置的小按钮,然后选择Capabilities,第三步选择Create Capabilities
上面的点击新建之后选择那个Upgrade,下一步就是输入nexus2.X的地址和前面设置的token,由于我已经设置过了,这里演示不了,可以参考下面这个图,然后就是下一步下一步直接点击就完成了,点下一步的时候看看大概内容是什么,基本上都看得懂的,这个步骤也可以参考前面的那两个链接。
这样就升级完成了。
其他
nexus3.x的访问地址是:http://xxx.xx.xx.xx:8083/repository/maven-public/
,跟原来有点差别。
自己新建的仓库需要把自己定义的挂到公共仓库下面,要不然就是配置多个地址。