首頁 > 軟體

Linux下安裝設定Nexus

2020-06-16 17:33:43

一、安裝和執行nexus

1、下載nexus:http://www.sonatype.org/nexus/go

可選擇tgz和zip格式,以及war,選擇tgz或zip時不同版本可能在啟動時存在一定問題,可能是因為jdk版本問題,若無法啟動請選擇2.5或更早的版本

註:nexus 2.6版本之後不再支援jdk1.6

2、安裝nexus

若下載war,則將其放置tomcat下的webapp目錄中,改名為nexus,執行tomcat服務,即可存取http://localhost:8081/nexus  預設使用者名稱:admin;密碼admin123

若下載tgz或者zip,將其解壓至usr/local/目錄下(也可自己指定目錄),在root/Download目錄下:

cp nexus-2.2-01-bundle.zip /usr/local

unzip nexus-2.2-01-bundle.zip

或者

cp nexus-2.2-01-bundle.tar.gz /usr/local

tar xvzf nexus-2.2-01-bundle.tar.gz

為了方便更新和切換版本,建立連結,更新或者切換版本只需更新連結即可:

ln -s nexus-2.2-01 nexus

3、執行nexus

在沒有安裝為service的情況下執行nexus。

若為較新版本:

cd /usr/local/nexus

./bin/nexus start

若啟動成功,nexus會監聽8081埠,在紀錄檔中可進行檢視

tail -f logs/wrapper.log

較早的版本需要進入平台目錄下進行啟動(較新版本也可以進行啟動)

cd /usr/local/nexus/

./bin/jsw/linux-x84-64/nexus start

瀏覽器中輸入http://localhost:8081/nexus即可進入

4、安裝nexus為service

以root使用者身份,設定為系統服務

  cd /etc/init.d

cp /usr/local/nexus/bin /nexus ./nexus

chmod 755 /etc/init.d/nexus

Red Hat, Fedora, and CentOS中增加nexus服務

$ cd /etc/init.d

增加nexus服務

$ chkconfig --add nexus

新增執行級別3、4、5

$ chkconfig --levels 345 nexus on

啟動nexus

$ service nexus start

驗證關係成功啟動

$ tail -f /usr/local/nexus/logs/wrapper.log

編輯/etc/init.d/nexus的文字

NEXUS_HOME="/usr/local/nexus"

PIDDIR="${NEXUS_HOME}" 

RUN_AS_USER = "nexus"  此處使用者名稱可隨意選擇,最好不要是root

註:①如果使用root,未建立其它使用者,則改為root(不建議使用root)

②如果使用該設定,需要:

•  nexus 使用者存在

useradd  nexus

• 更改nexus 安裝目錄的Owner和Group為nexus

chown nexus nexus nexus

啟動服務

service nexus start
 
二、設定maven使用nexus

這裡先對Maven的安裝作一簡單介紹:

下載maven安裝包,如apache-maven-3.1.0-bin.tar.gz,並解壓

cp apache-maven-3.1.1-bin.tar.gz /usr/local/

tar –zxvf apache-maven-3.1.1-bin.tar.gz

ln –s apache-maven-3.1.1 maven

編輯/etc/profile檔案,新增如下程式碼

export MAVEN_HOME=/opt/apache-maven-3.2.1

export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

可執行以下命令檢查maven安裝:

  顯示路徑

echo $MAVEN_HOME

  顯示資訊即成功

mvn -v

接下來要使用Nexus,則需要設定Maven去檢查Nexus而非公共的倉庫。

建立~/.m2/settings.xml(初始狀態下該檔案不存在),編輯內容:

<settings>

  <profiles>

    <profile>

      <id>nexus</id>

      <repositories>

        <repository>

          <id>central-snapshots</id>

          <url>http://localhost:8081/nexus/content/groups/public-snapshots</url>

          <releases><enabled>false</enabled></releases>

          <snapshots><enabled>true</enabled></snapshots>

        </repository>

        <repository>

          <id>central-releases</id>

<!-- url原為http://central,指向http://repos.d.xxx.com/nexus/content/groups/public  其中xxx一般為公司名--->

          <url>http://localhost:8081/nexus/content/groups/public</url>

<!-- 表示可以從此倉庫下載release版本 -->

<releases><enabled>true</enabled></releases>

<!-- 表示不可以從此倉庫下載snapshot版本 -->

<snapshots><enabled>false</enabled></snapshots>

        </repository>

      </repositories>

<!--  外掛倉庫 -->

      <pluginRepositories>

        <pluginRepository>

          <id>central-snapshots</id>

          <url>http://localhost:8081/nexus/content/groups/public-snapshots</url>

          <releases><enabled>false</enabled></releases>

          <snapshots><enabled>true</enabled></snapshots>

        </pluginRepository>

        <pluginRepository>

          <id>central-releases</id>

          <url>http://localhost:8081/nexus/content/groups/public</url>

          <releases><enabled>true</enabled></releases>

          <snapshots><enabled>false</enabled></snapshots>

        </pluginRepository>

      </pluginRepositories>

<servers> 

  <server>

<!--設定所有的releases版本構件部署Nexus的releases倉庫中-->

    <id>nexus-releases</id> 

    <username>admin</username> 

    <password>admin123</password> 

  </server> 

  <server> 

<!--設定所有的snapshot版本構件部署到Nexus的Snapshots倉庫中-->

    <id>nexus-snapshots</id> 

    <username>admin</username> 

    <password>admin123</password> 

  </server>   

</servers> 

  </profile>

<!--  設定activeProfiles後,此處新增snapshots,可以使snapshots被搜尋到。-->

  </profiles>

<!--新增id,啟用profile。-->

  <activeProfiles>

    <activeProfile>nexus</activeProfile>

  </activeProfiles>

</settings>

註:將nexus設定成所有倉庫的映象之後,maven會從原生的nexus安裝查閱,而非去外面查閱中央maven倉庫。如果對nexus有一個構件請求,原生的nexus安裝會提供這個構件;如果Nexus沒有這個構件,nexus會從遠端倉庫獲取這個構件,然後新增至遠端倉庫的本地映象。
 
三、設定nexus倉庫

Nexus有許多預設倉庫:Central,Releases,Snapshots,和3rd Party

1.設定central倉庫

 Nexus內建了Maven中央代理倉庫Central。選擇倉庫列表中的 Central,如圖3.1:

圖3.1

點選Configuration進行設定:

Repository Policy為release,則不會代理遠端倉庫的snapshot構件(snapshot版本構件不穩定且不受控制,使用這樣的構件含有潛在的風險)。

“Remote Storage Location”為遠端倉庫地址,http://repo.maven.org/maven2/ ;

“Download Remote Indexes”是否下載遠端索引檔案,預設為False,(中央倉庫有大量的構件,其索引檔案也很大,容易消耗大量的 中央倉庫頻寬)。將其設定為True(其他代理倉庫也需要改成True),然後點選Save。在Nexus下載的中央倉庫索引檔案之後,我們就可以在本地搜尋中央倉庫的所有構件。

2.Releases用於部署自己的release構件,Snapshots用於自己的snapshot構件。3rd Party用於部署第三方構件,修改Configuration下Deployment Policy為Allow Redeploy,則可以在Artifact Upload中上傳本地檔案。

新增代理倉庫

1.新增代理倉庫。如圖3.2

圖3.2 nexus新增代理倉庫

2.新增資訊具體。

 

3.3 新增倉庫資訊

3.新增倉庫至組

新增倉庫到公共nexus倉庫組。

如圖3.4

        Ordered Group Repositories:已在使用中的倉庫。檢索順序與排序一致

    Available Repositories:已有未被使用

如圖3.4
 
四、使用者使用

1.在開發環境中替換/rhome/使用者名稱/.m2 目錄下的檔案settings.xml(新環境中可能沒有此檔案);

2.修改maven安裝目錄下/conf/settings.xml檔案。修改成乾淨的檔案。

<localRepository>/workspace/repository</localRepository>此標籤可以修改本地倉庫路徑,也可以在eclipse中User Settings中設定。

3.在【工程名】下面執行 mvn  clean  install,即從私服裡面下載pom檔案裡的 jar 包;

4.在eclipse開發工具中  clean 【工程名】,重新整理jar包目錄即可;

Maven使用入門 http://www.linuxidc.com/Linux/2012-11/74354.htm

Ubuntu 下 搭建Nexus Maven私服中央倉庫  http://www.linuxidc.com/Linux/2016-08/133936.htm

Linux下使用Nexus搭建Maven私服詳解 http://www.linuxidc.com/Linux/2016-08/134630.htm

Linux下使用Nexus搭建Maven私服 http://www.linuxidc.com/Linux/2016-08/134617.htm

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-09/135083.htm


IT145.com E-mail:sddin#qq.com