使用Nexus搭建maven私有倉庫


Nexus 官網:http://www.sonatype.com/

前言

什么是maven、gradle

Maven是一個項目管理和自動構建工具。

Gradle是一個基於Apache AntApache Maven概念的項目自動化建構工具。它使用一種基於Groovy的特定領域語言來聲明項目設置,而不是傳統的XML。

為什么搭建maven私有倉庫

做java開發的童鞋對Maven一定不陌生;做android開發的童鞋,用得最多的是gradle。其實gradle的第三方庫,也是放在maven倉庫上。

對於第三方庫,大家基本都配置maven、gradle從遠程獲取,估計很少直接下載jar放在工程里(對於沒有放在maven repository上的庫,只能這么干)。這么做方便管理依賴

app開發中遇到問題

做app開發,特別是只有幾萬行代碼量的小項目,開發團隊也就幾個人,通常只用一個工程玩耍。隨着業務擴展,工程變得越來越大,代碼量大大增加,開發人數也多了,問題開始暴漏:改動一個地方往往影響到其他人的代碼,功能模塊耦合嚴重,構建速度慢....

業界一些解決方法:1.組件化,按功能拆分出各種組件,數據存儲、網絡層、日志 等;2.拆分業務,一個業務一個module;3.業務插件化,一個業務一個工程,每個業務獨立編譯並運行.....

因此,引入依賴管理是必不可少的。把各個模塊單獨編譯,部署上maven倉庫,主工程or業務工程通過maven、gradle引用這些依賴。這么做還有好處,就是持續集成!某個模塊修改了,跑單元測試,通過后才放上倉庫。業務工程同步一下maven,萬一有問題,還可以在服務端回滾到上一個版本。

(筆者對持續集成怕有誤,關於持續集成可以參考這篇文章《談談持續集成,持續交付,持續部署之間的區別》

  • 單獨編譯、單獨部署
  • 靈活管理依賴
  • 便於持續集成
 

搭建

官方文檔:https://help.sonatype.com/repomanager2/installing-and-running

安裝Java Envirment

由於Nexus不支持OpenJDK,所以必須卸裝OpenJDK並安裝Oracle Java。參考 如何在Ubuntu Linux上安裝Oracle Java (可能要FQ)

下載Nexus Repository OSS

下載地址: http://www.sonatype.com/download-oss-sonatype

筆者系統環境是ubuntu16.04(在windows上vmware虛擬),所以下載了Unix nexus-3.0.1版本。例如下載到$HOME下,然后解壓壓縮包:

$ tar xvzf nexus-3.0.1-01-unix.tar.gz

啟動Nexus

進入nexus根目錄下的bin:

cd ./nexus-3.0.1-01/bin

運行Nexus:

sudo ./nexus run

運行成功后,會出現

 

Started Sonatype Nexus OSS 3.0.1-01

 
nexus_run

訪問nexus UI界面

在ubuntu打開瀏覽器,輸入http://localhost:8081/

 

當然,只要知道ubuntu虛擬機內網ip,也可以在windows通過內網ip訪問nexus

 
 

配置為Linux Service

編輯.bashrc文件(通常在用戶根目錄):

gedit .bashrc

配置$NEXUS_HOME為nexus絕對路徑,在文件末尾加入:

NEXUS_HOME="/home/{user}/nexus-3.0.1-01"

編輯bin/nexus.rc

run_as_user="nexus"

/etc/init.d放nexus軟連接

sudo ln -s $NEXUS_HOME/bin/nexus /etc/init.d/nexus

運行服務

update-rc.d.

cd /etc/init.d
sudo update-rc.d nexus defaults
sudo service nexus start

官網有chkconfigupdate-rc.dsystemd三種方式,筆者選擇最簡單的update-rc.d

(開啟ubuntu第一次執行start,可能要等上幾十秒才能啟動)


用戶操作界面

登陸

假設ubuntu ip地址是192.168.86.130,瀏覽http://192.168.86.130:8081/打開用戶界面(前面已提到)。點擊右上角Sign in登陸,默認賬號admin,密碼admin123

 
sign in
 
 

登陸后:


 
 

創建用戶

在配置頁面,選擇Security - User,點擊create user

 
create user.png

填寫用戶信息,再點擊最底下的create user即可創建用戶

 
user info
 
 

創建xiaoming用戶后,可以Sign out,用xiaoming賬號登陸了。

創建maven倉庫

在配置界面,選擇Repository - repositories,圖中紅色選線框着的是默認倉庫。點擊create repository

 
repositories
 
create repository

這里簡單介紹下幾種repository的類型:

  • hosted,本地倉庫,通常我們會部署自己的構件到這一類型的倉庫。比如公司的第二方庫。
  • proxy,代理倉庫,它們被用來代理遠程的公共倉庫,如maven中央倉庫。
  • group,倉庫組,用來合並多個hosted/proxy倉庫,當你的項目希望在多個repository使用資源時就不需要多次引用了,只需要引用一個group即可。

我們的目的僅僅管理自己開發的組件,選擇host即可。

填寫倉庫配置

 
 

 

version policy,可以選Release或Snapshot,如果倉庫開放給所有人,那選Release比較好,如果公司內部或自己用,其中一個就可以。

倉庫xiaoming-host創建完畢

 
xiaoming-host

 

查看倉庫的項目

如果上傳了項目,在Nexus用戶界面,選擇components -> xiaoming-host

 
deploy success

小結

google一下“Nexus搭建”,很多文章都是基於2.x版本,3.x安裝教程相對少一些,筆者因為找不到很好的文章,才決定自己寫一篇。官方文檔還是挺容易理解的,步驟也很清晰,建議大家在搭建過程不懂時,查閱官方文檔。



 


免責聲明!

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



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