linux下安裝nexus-2.14.8 -01私服


一、安裝、配置nexus-2.14.8-01私服

#解壓 tar.gz

tar -zxvf nexus-2.14.8-01-bundle.tar.gz

#移動到/usr/local 中

mv nexus-2.14.8-01 /usr/local

mv sonatype-work/ /usr/local

# 查看、編輯配置文件

cd /usr/local/nexus-2.14.8-01

vi conf/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


# orientdb buffer size in megabytes
storage.diskCache.bufferSize=4096


vi /usr/local/nexus-2.14.8-01/bin/nexus #修改RUN_AS_USER 為root, NEXUS_HOME程序主目錄最好用絕對路徑。


#! /bin/sh

#
# Copyright (c) 1999, 2006 Tanuki Software Inc.
#
# Java Service Wrapper sh script. Suitable for starting and stopping
# wrapped Java applications on UNIX platforms.
#

#-----------------------------------------------------------------------------
# These settings can be modified to fit the needs of your application

# Set this to the root of the Nexus installation
NEXUS_HOME="/usr/local/nexus-2.14.8-01"

# If specified, the Wrapper will be run as the specified user.

# IMPORTANT - Make sure that the user has the required privileges to write into the Nexus installation directory.

# NOTE - This will set the user which is used to run the Wrapper as well as
# the JVM and is not useful in situations where a privileged resource or
# port needs to be allocated prior to the user being changed.
#RUN_AS_USER=
RUN_AS_USER="root"
# Application
APP_NAME="nexus"
APP_LONG_NAME="Nexus OSS"

賦予NEXUS_HOME 目錄寫入權限
chmod -R +w /usr/local/nexus-2.14.8-01

二、nexus服務啟動、停止等命令

./nexus {console | start | stop |restart |status | dump }

./nexus console 在當前控制台窗口啟動,按ctrl+c結束進程

./nexus start 后台進程啟動nexus服務,可查看 logs目錄中wrapper.log 輸出日志

./nexus stop 停止nexus服務。
三、nexus服管理控制台

nexus 服務啟動比較慢,啟動后稍待1分鍾左右,訪問IP:8081/nexus 進入管理控制台。

默認超級管理員為 admin,登陸密碼 admin123

默認部署員 deployment, 登陸密碼deployment123 .

使用超級管理員登陸上,點擊左側Respositories ,即可看到所有的倉庫了。

四.私服的簡單用法和說明

登錄后,點擊左側Repositories,界面如上圖所示。

右側的列表中,可以看到nexus預設的幾個倉庫。

第一個public Repositories,類型為group,這個簡單理解為倉庫的集合,下面的倉庫就是可以加入到這個集合的元素。

對外可以只提供一個單獨的url,如上圖顯示為:http://192.168.2.141:8081/nexus/content/groups/public/

大部分的終端用戶,只需要配置上面這一個單獨的聚合后的url,而不用單獨配置多個倉庫。用戶也不需要知道某個jar包具體來源於maven 中央倉庫,或者是Apache Snapshots,或者是我們自己添加的其他倉庫。

這樣的好處在於:如果我們要新增某個倉庫(如開源中國、阿里雲),客戶端不需要做任何更改,只需要在nexus上將要新增的倉庫加入到對外提供服務的倉庫 group中就可以。

第二個3rd party,與倒數第一個和第二個倉庫,Releases和Snapshots一樣,類型為hosted,意思是由nexus本機管理的倉庫。該倉庫用於商業化的,第三方提供的非開源的依賴倉庫,如oracle jdbc driver。

倒數第二個Releases,用於存放開發團隊內部用的正式版的依賴。

倒數第一個Snapshots,用於存放開發團隊內部日常構建的頻率更新較快的依賴包。

Apache Snapshots和Central類型都是proxy,意思是遠端倉庫的代理。前者包含了Apache Software Foundation 發布的快照版本(這么翻譯不知道對不對),后者為Maven中央倉庫,我們平時maven默認就是連接該倉庫。

Central M1 Shadow類型為virtual,按官方文檔的意思是,只是已有倉庫的一個不同呈現方式的映射。有需要可以參考官方手冊6.2.3節。

 

點擊Configuration,可以看到當前添加到該集合的倉庫列表及順序(優先級高的在上面,可用鼠標拖拽),當我們新增了倉庫,將會出現在右側的available Repository,添加到左邊即可。

如果有哪個倉庫不想加入到該集合,也可以拖拽到右邊來。

 

使用本地maven客戶端測試nexus是否成功部署

首先復制倉庫集合的repository url,客戶端配置需要用到。

然后可以從項目中導入包,或是直接從私服導入包.

 

 五.nexus創庫使用配置

1.1 新建ilanni私庫

登錄nexus2.14.1管理后台后,我們來創建一個自己的私有倉庫ilanni,如下:

Repositories-Add-Hosted Repository

我們只需要填寫Repository ID和Repository Name,其他的保持默認即可。

通過上圖,我們可以看到ilanni這個nexus2.14.1倉庫已經創建完畢。

注意上圖中的http://192.168.1.231:8081/nexus/content/repositories/ilanni/連接,該鏈接地址就是ilanni私庫的地址。

1.2 上傳jar包和依賴使用

ilanni私庫創建完畢后,我們現在來給ilanni倉庫手工上傳一個maven依賴的jar包epps-merchantsignature-0.0.2.jar。

在上傳jar依賴包之前,我們還需要知道該依賴在maven編譯文件pom.xml配置中goupid、artifactid和version。如下:

<dependency>

<groupId>com.suning.epps.codec.Digest</groupId>

<artifactId>epps-merchantsignature</artifactId>

<version>0.0.2</version>

</dependency>

有了goupid、artifactid和version與此對應關系,我們現在就可以上傳該jar依賴了。如下:

上圖中所需要填寫的相關信息都是從前面pom.xml文件中獲得的。

clip_image022

上圖就已經說明jar依賴上傳成功。

注意:上圖中的xml圈出來的部分,可以很明顯的看出這個和我們前面pom.xml文件中配置的該依賴一模一樣的。

現在我們是知道了該jar包的goupid、artifactid和version,通過pom.xml文件

但是如果我們不知道goupid、artifactid和version的話,那我們也可以進行自定義goupid、artifactid和version。

下面來一個實例,現在有一個ilanni.jar文件,是代碼所依賴的,要把它上傳到nexus私庫中。

同時我們現在給該jar文件定義的groupid為com.ilanni,定義的artifactid為ilanilog,而定義的version為1.0.0。

上傳具體操作如下:

上傳完畢后,我們就可以得到能在pom.xml文件中使用的XML內容如下:

<dependency>

<groupId>com.ilanni</groupId>

<artifactId>ilanilog</artifactId>

<version>1.0.0</version>

</dependency>

除此之外,如果我們不使用內網依賴倉庫的話,我們也可以使用公共的依賴倉庫,在公共依賴倉庫中找到自己需要的依賴復制對應xml到自己的pom.xml文件,就能使用該依賴。

來個例子:

現在代碼里面需要slf4j-log4j12-1.7.21.jar這個jar包,那么我們就可以從maven官網倉庫獲取,如下:

http://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12/1.7.21

<dependency>

<groupId>org.slf4j</groupId>

<artifactId>slf4j-log4j12</artifactId>

<version>1.7.21</version>

</dependency>

現在只需要把XML內容復制到自己的pom.xml文件中,就可以使用該依賴了。

1.3 新建代理倉庫ilanniproxy

在平時使用過程中,我們使用最多的還是代理遠程的maven倉庫,這樣可以節省公司網絡帶寬,所以在此我們新建一個代理jenkins倉庫的maven倉庫ilanniproxy。

jenkins倉庫的地址是:

http://repo.jenkins-ci.org/public/

現在我們來新建ilanniproxy倉庫,如下:

Repository ID和Repository Name可以進行自定義,Remote Storage Location填寫的是需要代理的遠程maven倉庫,在此填寫的是http://repo.jenkins-ci.org/public/

ilanniproxy倉庫創建完畢后,我們就可以看到ilanniproxy倉庫連接地址:

http://192.168.1.231:8081/nexus/content/repositories/ilanniproxy/

目前ilanniproxy倉庫是空的,我們通過maven進行編譯構建時,ilanniproxy倉庫才會去http://repo.jenkins-ci.org/public/倉庫下載相關依賴。如下:

通過上圖,我們可以看明顯的看到目前ilanniproxy倉庫,已經有相關的依賴了。

為了下面驗證ilanniproxy倉庫的完整性,我們在此記錄wagon-gitsite-0.3.5.jar依賴。

1.4 配置Upgrade:Agent

Nexus2.14.1要進行倉庫遷移的話,需要我們配置Upgrade:Agent,Upgrade:Agent的配置比較簡單,如下:

上圖中的Access Token非常重要,在此我們配置的是123456。

上圖是我們配置好了Upgrade:Agent

 

1.5 直接上傳本地創庫到私有庫中

在nexus上新建一個類型為hosted的空創庫,如:test01,

在linux服務器上進入目錄../sonatype-work/nexus/storage/test01

然后把本地創庫的文件及包上傳到目錄../sonatype-work/nexus/storage/test01/目錄下即可


免責聲明!

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



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