天天看點

Dubbo分布式系統架構,持續內建篇 Maven私有庫和本地庫的安裝與配置 Sonatype Nexus + Maven

環境:CentOS 6.6 Final、JDK7、SonatypeNexus、Maven

IP:192.168.4.221

root使用者操作

前提:已安裝JDK7并配置好了環境變量

1、下載下傳最新版Nexus(本教程使用的是:nexus-2.11.2-03-bundle.tar.gz),下載下傳位址:http://www.sonatype.org/nexus/go/

# wget https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.11.2-03-bundle.tar.gz

2、解壓

# mkdirnexus

# tar-zxvf nexus-2.11.2-03-bundle.tar.gz -C nexus

# cdnexus

# ls

nexus-2.11.2-03  sonatype-work

(一個nexus服務,一個私有庫目錄)

3、編輯Nexus的nexus.properties檔案,配置端口和work目錄資訊(保留預設)

# cdnexus-2.11.2-03

bin  conf lib  LICENSE.txt  logs nexus  NOTICE.txt  tmp

檢視目錄結構,jetty運作

# cdconf

# vinexus.properties

# Jettysection

application-port=8081

application-host=0.0.0.0

nexus-webapp=${bundleBasedir}/nexus

nexus-webapp-context-path=/nexus

# Nexussection

nexus-work=${bundleBasedir}/../sonatype-work/nexus

runtime=${bundleBasedir}/nexus/WEB-INF

4、編輯nexus腳本, 配置RUN_AS_USER參數

# vi/root/nexus/nexus-2.11.2-03/bin/nexus

#RUN_AS_USER=

改為:

RUN_AS_USER=root

5、防火牆中打開8081端口

# vi/etc/sysconfig/iptables

添加:

-A INPUT -mstate --state NEW -m tcp -p tcp --dport 8081 -j ACCEPT

儲存後重新開機防火牆

# serviceiptables restart

6、啟動nexus

# /root/nexus/nexus-2.11.2-03/bin/nexusstart

****************************************

WARNING -NOT RECOMMENDED TO RUN AS ROOT

StartingNexus OSS...

Started NexusOSS.

7、浏覽器中打開:http://192.168.4.221:8081/nexus/

Dubbo分布式系統架構,持續內建篇 Maven私有庫和本地庫的安裝與配置 Sonatype Nexus + Maven

8、登入,預設使用者名admin,預設密碼admin123:

Dubbo分布式系統架構,持續內建篇 Maven私有庫和本地庫的安裝與配置 Sonatype Nexus + Maven
Dubbo分布式系統架構,持續內建篇 Maven私有庫和本地庫的安裝與配置 Sonatype Nexus + Maven

到此,Nexus已安裝完成,接下來是Nexus的配置

Nexus配置(登入後)

1、菜單Administration/Server配置郵箱服務位址(如果忘記密碼,可以通過該郵箱找回密碼)

Dubbo分布式系統架構,持續內建篇 Maven私有庫和本地庫的安裝與配置 Sonatype Nexus + Maven

給使用者配置郵箱位址,友善忘記密碼時找回:

Dubbo分布式系統架構,持續內建篇 Maven私有庫和本地庫的安裝與配置 Sonatype Nexus + Maven

使用者修改密碼

Dubbo分布式系統架構,持續內建篇 Maven私有庫和本地庫的安裝與配置 Sonatype Nexus + Maven
Dubbo分布式系統架構,持續內建篇 Maven私有庫和本地庫的安裝與配置 Sonatype Nexus + Maven

2、倉庫類型

Dubbo分布式系統架構,持續內建篇 Maven私有庫和本地庫的安裝與配置 Sonatype Nexus + Maven

group 倉庫組:Nexus 通過倉庫組的概念統一管理多個倉庫,這樣我們在項目中直接請求倉庫組即可請求到倉庫組管理的多個倉庫;

hosted 宿主倉庫:主要用于釋出内部項目構件或第三方的項目構件(如購買商業的構件)以及無法從公共倉庫擷取的構件(如 oracle 的 JDBC 驅動)

proxy代理倉庫:代理公共的遠端倉庫;

virtual虛拟倉庫:用于适配 Maven 1;

一般用到的倉庫種類是hosted、proxy

Hosted倉庫常用類型說明:

releases  内部的子產品中release子產品的釋出倉庫

snapshots釋出内部的SNAPSHOT子產品的倉庫

3rdparty第三方依賴的倉庫,這個資料通常是由内部人員自行下載下傳之後釋出上去

如果建構的Maven項目本地倉庫沒有對應的依賴包,那麼就會去Nexus私服去下載下傳,

如果Nexus私服也沒有此依賴包,就回去遠端中央倉庫下載下傳依賴,這些中央倉庫就是proxy。 Nexus私服下載下傳成功後再下載下傳至本地Maven庫供項目引用。

3、設定proxy代理倉庫(Apache Snapshots/Central/Codehaus Snapshots)準許遠端下載下傳,如:

Dubbo分布式系統架構,持續內建篇 Maven私有庫和本地庫的安裝與配置 Sonatype Nexus + Maven

4、Maven本地庫的安裝與配置(請看參考視訊的操作)

    環境變量、setting.xml

5、MyEclipse中的Maven配置(請看參考視訊的操作)

6、項目的建構與釋出示範(請看參考視訊的操作)

    修改common-parent中的pom.xml中的私有庫位址

7、上傳第三方包操作示範

繼續閱讀