maven私库nexus2.11.4迁移升级到nexus3.12.0
nexus简介
nexus是一个强大的maven仓库管理器,它极大的简化了本地内部仓库的维护和外部仓库的访问.
nexus是一套开箱即用的系统不需要数据库,它使用文件系统加Lucene来组织数据 .
nexus使用ExtJS来开发界面,利用Restlet来提供完整的REST APIs,通过IDEA和Eclipse集成使用 .
nexus支持webDAV与LDAP安全身份认证.
nexus提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,占用较少的内存,基于简单文件系统而非数据库.
它的以下优点,使得它日趋成为最流行的maven仓库管理工具:
1)加速构建;
2)节省带宽;
3)节省中央maven仓库的带宽;
4)稳定(应付一旦中央服务器出问题的情况);
5)控制和审计;
6)能够部署第三方构件;
7)可以建立本地内部仓库;
8)可以建立公共仓库
公司的代码依赖是通过maven进行管理的,而maven的私库我们使用的是nexus,目前使用的是nexus2.11.4版本。之前是和gitlab部署在同一台服务器,前段时间对gitlab进行了迁移升级,nexus现在新版本也是3.13了,故对nexus也进行一次迁移升级。
首先,写下升级思路,要把nexus从2版本升级到3版本,需要先把nexus升级到2版本的最高版本,然后在升级到3版本,故我这先升级到2.14.9,然后升级到3.12.0
环境信息
| 系统版本 | Ubuntu 14.04.4 LTS -->CentOS release 6.10 (Final) |
| jdk | jdk1.8.0_121 |
| nexus | 2.14.9 |
| nexus | 3.12.0 |
| maven | 3.3.9 |
注:这里旧版本nexus是在Ubuntu系统,新版本是装到centos系统里,然后jdk版本的话,nexus2是需要1.7以上,nexus3需要jdk1.8以上,然后我这里把2.14.9和3.12.0都装在同一台服务器上(升级完后把2.14.9版本卸载),所以装jdk1.8版本就好。
1、安装Jdk:
#rpm -ivh jdk-8u121-linux-x64.rpm
安装完看下版本和安装路径:

2、下载,安装nexus2.14.9
#cd /usr/local/src
#wget https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.14.9-01-bundle.tar.gz
#tar xvf nexus-2.14.--bundle.tar.gz -C /data
#cd /data/nexus-2.14.9-01
#cp bin/nexus /etc/init.d/nexus2 --把启动脚本添加到系统服务中(写成nexus2是为了区别2版本和3版本)
#chkconfig --add nexus2
#chkconfig nexus2 on --设置为开机自启动
修改nexus2.14.9的启动文件:
#vim /etc/init.d/nexus2

配置Jdk环境变量

接着修改nexus2.14.9的监听端口和仓库存储目录:
#vim /data/nexus-2.14.9-01/conf/nexus.properties

至此,nexus2.14.9就安装配置完了,下面启动服务:
#service nexus2 start


然后就可以通过http://ip:port/nexus访问nexus2.14.9了,默认登入账号和密码是:admin/admin123,这里我是用自己注册的账号登入的,所以看到右上角账号不是admin

3、2.11.4升级到2.14.9
现在可以进行2.11.4备份迁移到2.14.9了,大概步骤如下:(2版本上级到2版本只需把相关目录拷贝到新服务器即可)

先在2.11.4版本服务上进行备份,网上说备份indexer和storage目录就够了,我当时是备份了4个目录,为了保险起见你可以把整个sonatype-work目录备份过去。
备份完,需把这些包拷贝到新版本的2.14.9服务器上,进行解压,然后重启服务就ok了。

重启完登入可看见已经把旧版本的数据迁移过来了,检测下数据的完整性,没有问题的话就已经成功升级到2.14.9版本了。

4、下载、安装nexus3.12.0
#wget https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-3.12.0-01-unix.tar.gz
#tar xvf nexus-3.12.--unix.tar.gz -C /data
#cd /data/nexus-3.12.-01
#vim bin/nexus.rc --修改nexus的启动用户
run_as_user="root"
修改配置nexus3的启动脚本
#ln -s /data/nexus-3.12.0-01/bin/nexus /etc/init.d/nexus3
#chkconfig --add nexus3
#chkconfig nexus3 on --设置开启自启动
同理配置jdk环境和监听端口:
#vim bin/nexus

#vim etc/nexus-default.properties

下面配置数据以及相关日志存储路径:
#vim bin/nexus.vmoptions

至此,基本配置完成了,可以重启通过web访问nexus3了
#service nexus3 start --可以看到两个nexus都已经启动了

web访问http://ip:port

通过上图可知nexus3已经正常启动
5、nexus2.14.9升级到nexus3.12.0
配置 Upgrade:Agent
Nexus2.14.9要进行仓库迁移的话,需要我们配置Upgrade:Agent,Upgrade:Agent的配置比较简单,如下:

上图中的Access Token非常重要,进行迁移的时候要用这个值,你可以设一个自己容易记得值,下图就是我们设置好的Upgrade:Agent

要把nexus2.14.9迁移到nexus3.12.0的话,在nexus3.12.0上也需要开启upgrade,并且迁移操作在nexus3.12.0的web端,下面在nexus3上开启upgrade:



到了这一步,下面的操作基本一路next就行了。




由于这一步点击不了Next,下面的页面无法截图出来了(这里可以把之前同步过来的仓库删除,在重新同步一次,这里的Next和后面的步骤就可以执行,不然这里一直都是仓库已存在状态),后面的步骤也很简单,基本都是 begin,continue,迁移可能要点时间,取决于仓库所存东西的大小。成功后随便找一个仓库进行验证一下一致性。如果没有问题,那么迁移就完成了。


maven私库nexus2.11.4迁移升级到nexus3.12.0的更多相关文章
- maven私库nexus2.3.0-04迁移升级到nexus-3.16.1-02(异机迁移备份)
环境信息: nexus2.3.0-04安装在32位Windows server 2003系统上 安装位置信息如下: 仓库迁移 Nexus的构件仓库都保存在sonatype-work目录中,nexus2 ...
- Maven私库安装与配置
Maven私库安装与配置 https://www.cnblogs.com/dengyulinBlog/p/6398310.html
- idea 推送jar包到maven私库
1.推送到本地仓库 idea直接install即可 2.推送到公司私库 2.1 使用配置公司仓库地址的setting文件 <?xml version="1.0" encodi ...
- maven(私库)上传jar包
在实际开发过程中,我们经常会遇到需要引用的jar依赖,在我们公司的maven仓库不存在,这个时候我们就需要把jar上传上去,在项目中添加对应依赖就OK了. 步骤1:下载jar 在http://mvnr ...
- 使用nexus搭建maven私库
什么是nexus? nexus是一个maven仓库管理器,使用nexus可以快速便捷的搭建自己的maven私有仓库. docker安装nexus 拉取镜像 docker pull sonatype/n ...
- Maven私库
<server> <id>releases</id> <username>admin</username> <password> ...
- Docker搭建Nexus(Maven私库)
0.镜像的查找:docker search nexus 1.拉取官方镜像:docker pull sonatype/nexus3 2.创建了自己的目录 (/opt/nexus/nexus-data) ...
- k8s升级,HA集群1.12.0~HA集群1.13.2
k8s升级,此次升级是1.12.0 至1.13.2 准备 # 首先升级master节点的基础组件kubeadm.kubelet.kubectl apt policy kubeadm 找到相应的版本,如 ...
- maven&nexus_repository 私库搭建与使用
一.nexus仓库安装 1,http://www.sonatype.org/nexus/ 下载sso版本,免费2,tar -zxvf nexus-2.11.1-01-bundle.tar.gz3 ...
随机推荐
- centos7下kubernetes(15。kubernetes-外网访问service)
kubernetes提供了多种类型的service,默认是cluster IP ClusterIP cluster内部IP对外提供服务,只有cluster内的节点和pod可访问,这是默认的servic ...
- python字符串replace失效问题
python字符串replace替换无效 背景 今天想把一个列表中符合条件的元素中 替换部分字符串, 发现怎么替换,改元素还是没有改变,本以为是内存引用的问题后来发现并不然. 经查阅解决 在Pytho ...
- day21(1)---python的内存管理
垃圾回收机制: 不能被程序访问到的数据,就称之为垃圾. 引用计数:引用计数是用来记录值的内存地址被记录的次数的 每一次对值地址的引用都可以使得该值的引用计数+1 每一次对值地址的释放都可以使得该值的引 ...
- Oracle 执行计划(二)------表访问的几种方式
表访问的几种方式:(非全部) 参照表 primary key is id 1.TABLE ACCESS FULL(全表扫描):查询出该表所有数据,获取的数据执行where语句. Don’t creat ...
- 解决 tomcat 重启上传文件消失
开发模式 首先开发者模式下,部署在 Tomcat 上没有什么好的办法,否则无法调试 除非使用绝对路径,缺点:不同的操作系统路径不同,自动设置 对于图片上传一般我们使用图片服务器,上传 CDN中 一般获 ...
- iOS开发基础-图片切换(4)之懒加载
延续:iOS开发基础-图片切换(3),对(3)里面的代码用懒加载进行改善. 一.懒加载基本内容 懒加载(延迟加载):即在需要的时候才加载,修改属性的 getter 方法. 注意:懒加载时一定要先判断该 ...
- (haut oj 1261 ) 地狱飞龙 利用不定积分求值
题目链接:http://218.28.220.249:50015/JudgeOnline/problem.php?id=1261 题目描述 最近clover迷上了皇室战争,他抽到了一种地狱飞龙,很开心 ...
- vue中使用Base64和md5和rsa
https://blog.csdn.net/benben513624/article/details/88113459(copy) https://www.cnblogs.com/myfate/p/1 ...
- java的List列表转成Tree(树形)结构列表
直接看借鉴博客:https://blog.csdn.net/massivestars/article/details/53911620/ 由于我的业务没有父子级id两个字段,只有一个层级id字段来分层 ...
- 多线程之:MESI-CPU缓存一致性协议
MESI(Modified Exclusive Shared Or Invalid)(也称为伊利诺斯协议,是因为该协议由伊利诺斯州立大学提出)是一种广泛使用的支持写回策略的缓存一致性协议,该协议被应用 ...