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,遷移可能要點時間,取決於倉庫所存東西的大小。成功后隨便找一個倉庫進行驗證一下一致性。如果沒有問題,那么遷移就完成了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM