zoukankan      html  css  js  c++  java
  • 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.9-01-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.0-01-unix.tar.gz -C /data
    #cd /data/nexus-3.12.0-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,迁移可能要点时间,取决于仓库所存东西的大小。成功后随便找一个仓库进行验证一下一致性。如果没有问题,那么迁移就完成了。

  • 相关阅读:
    node
    前端工程师的思考
    前端工程师需要具备的条件
    产品经理必须掌握的名词
    金融人必须掌握的词汇
    央企降两金、降杠杆的 “兵器谱”
    抽屉协议
    清分、清算、结算的关系
    如何有效规避风险
    浅谈在项目管理过程中风险管理
  • 原文地址:https://www.cnblogs.com/liangyou666/p/9439755.html
Copyright © 2011-2022 走看看