持續集成篇 - Maven私有庫和本地庫的安裝與配置 - Sonatype Nexus + Maven
環境:CentOS 6.6 Final、JDK7、Sonatype Nexus、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、解壓
# mkdir nexus
# tar -zxvf nexus-2.11.2-03-bundle.tar.gz -C nexus
# cd nexus
# ls
nexus-2.11.2-03 sonatype-work
(一個nexus服務,一個私有庫目錄)
3、編輯Nexus的nexus.properties文件,配置端口和 work目錄信息(保留默認)
# cd nexus-2.11.2-03
# ls
bin conf lib LICENSE.txt logs nexus NOTICE.txt tmp
查看目錄結構,jetty運行
# cd conf
# vi nexus.properties
# Jetty section
application-port=8081
application-host=0.0.0.0
nexus-webapp=${bundleBasedir}/nexus
nexus-webapp-context-path=/nexus
# Nexus section
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 -m state --state NEW -m tcp -p tcp --dport 8081 -j ACCEPT
保存後重啓防火牆
# service iptables restart
6、啓動nexus
# /root/nexus/nexus-2.11.2-03/bin/nexus start
./nexus start
****************************************
WARNING - NOT RECOMMENDED TO RUN AS ROOT
****************************************
Starting Nexus OSS...
Started Nexus OSS.
7、瀏覽器中打開:http://192.168.4.221:8081/nexus/
8、登錄,默認用戶名admin,默認密碼admin123:
到此,Nexus已安裝完成,接下來是Nexus的配置
Nexus配置(登錄後)
1、菜單Administration/Server配置郵箱服務地址(如果忘記密碼,可以通過該郵箱找回密
碼)
給用戶配置郵箱地址,方便忘記密碼時找回:
用戶修改密碼
2、倉庫類型
group 倉庫組:Nexus 通過倉庫組的概念統一管理多個倉庫,這樣我們在項目中直接請 求倉庫組即可請求到倉庫組管理的多個倉庫;
hosted 宿主倉庫: 主要用於發佈內部項目構件或第三方的項目構件 (如購買商業的構件)
以及無法從公共倉庫獲取的構件(如 oracle 的 JDBC 驅動)
proxy 代理倉庫:代理公共的遠程倉庫;
virtual 虛擬倉庫:用於適配 Maven 1;
一般用到的倉庫種類是 hosted、proxy
Hosted倉庫常用類型說明:
releases 內部的模塊中release模塊的發佈倉庫
snapshots 發佈內部的 SNAPSHOT模塊的倉庫
3rd party 第三方依賴的倉庫,這個數據通常是由內部人員自行下載之後發佈上去
如果構建的Maven項目本地倉庫沒有對應的依賴包,那麼就會去 Nexus 私服去下載,
如果Nexus私服也沒有此依賴包,就回去遠程中央倉庫下載依賴,這些中央倉庫就是proxy。
Nexus私服下載成功後再下載至本地 Maven庫供項目引用。
3、設置proxy代理倉庫(Apache Snapshots/Central/Codehaus Snapshots)准許遠程下載,
如:
4、Maven本地庫的安裝與配置(請看參考視頻的操作)
環境變量、setting.xml
5、MyEclipse中的Maven配置(請看參考視頻的操作)
6、項目的構建與發佈演示(請看參考視頻的操作)
修改common-parent中的pom.xml中的私有庫地址
7、上傳第三方包操作演示