centen os7 安裝並配置Nexus3.9.0

 

準備工作:

  • jdk 1.8
  • nexus-3.9.0-01-unix.tar.gz(可以到官網上去下載最新版本的)
  • 客戶端安裝了maven(注意下方的settings.xml是配置在本地的maven,不是服務器上的,下圖中我是直接放到了服務器中)

上傳並解壓安裝包到/usr/local/java

修改配置
可以在nexus-default.properties文件中(位於/usr/local/java/nexus3.9.0/etc目錄下)修改WEB訪問端口等信息,默認爲8081端口;(不做修改,查看一下)


防火牆放行8081端口;

查看防火牆狀態 :firewall-cmd --state

關閉防火牆:systemctl stop firewalld.service

編輯 nexus 腳本, 配置 RUN_AS_USER 參數 

run_as_user='' 改爲: RUN_AS_USER='root'

啓動 nexus 

執行: cd nexus3.9.0/bin,進入到bin目錄,執行:./nexus start

打開瀏覽器,訪問:http://ip地址:8081/
默認用戶名 admin 默認密碼 admin123

 

到此,Nexus 安裝完成。

接下來配置Nexus

配置Nexus之前,需要先了解一下私服的工作原理,如下圖:

找依賴包的流程: 首先在本地倉庫中找,如果沒命中,那麼就找遠程私服;遠程私服的查找規則同樣是先找host屬性的私有庫,然後再去找proxy屬性的遠程倉庫;可以配置多個proxy;

Nexus倉庫類型介紹

默認安裝有以下這幾個倉庫,在控制檯也可以修改遠程倉庫的地址,第三方倉庫等。

  • hosted(宿主倉庫庫) :存放本公司開發的jar包(正式版本、測試版本)
  • proxy(代理倉庫):代理中央倉庫、Apache下測試版本的jar包
  • group(組倉庫):使用時連接組倉庫,包含Hosted(宿主倉庫)和Proxy(代理倉庫)

Hosted 倉庫常用類型說明:

  • releases  內部的模塊中 release 模塊的發佈倉庫
  • snapshots 發佈內部的 SNAPSHOT 模塊的倉庫
  • 3rd party 第三方依賴的倉庫,這個數據通常是由內部人員自行下載之後發佈上去 

 

新建代理maven倉庫地址是阿里雲  

jcenter http://jcenter.bintray.com/

 

 

最後建立組倉庫maven-public(添加aliyun_maven到maven-public),如下。

 

 

 

組倉庫中包含了aliyun_maven、maven-central、本地maven-releases,本地maven-snapshots。

 至此,Nexus基本就這麼配置好了,主要在Group組中配置一個代理私服。

配置下載依賴 setting.xml

添加maven倉庫鏡像

創建好組倉庫之後,修改setting.xml文件,添加maven倉庫鏡像,如下:

進入/usr/local/java/maven3.6.3/conf下修改setting.xml:

<mirror>
  <id>nexus-myself</id>
  <!--*指的是訪問任何倉庫都使用我們的私服-->
  <mirrorOf>*</mirrorOf>
  <name>Nexus myself</name>
  <url>http://192.168.200.16:8081/repository/maven-public/</url>
</mirror>

全局配置下載依賴(即項目pom無需配置)

在maven的setting.xml文件中配置私服配置,這種方式配置後所有本地使用該配置的maven項目的pom文件都無需配置私服下載相關配置。

<profiles>
  <profile>
     <id>mycof</id>
        <repositories>
        <!-- 私有庫地址-->
          <repository>
          <id>nexus</id>
          <url>http://192.168.200.16:8081/repository/maven-public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>      
      <pluginRepositories>
        <!--插件庫地址-->
        <pluginRepository>
          <id>nexus</id>
          <url>http://192.168.200.16:8081/repository/maven-public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
           </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile> 
 </profiles>

激活使用上面的配置

<!--激活profile-->
<activeProfiles>
  <activeProfile>mycof</activeProfile>
</activeProfiles>

本地maven開發的項目上傳配置

1.maven的setting文件配置
這裏要配置配置上傳用戶及倉庫信息,我這裏直接使用了admin用戶,在nenus2.x中還內置了一個deployment/deployment123用戶,在3.x該用戶被移除了,這裏可以自己配置角色和用戶,我就直接使用admin用戶了

<servers>
    <server>  
        <id>maven-releases</id>  
        <username>admin</username>  
        <password>admin123</password>  
    </server>  
    <server>  
        <id>maven-snapshots</id>  
        <username>admin</username>  
        <password>admin123</password>  
    </server>
  </servers>

 

單獨項目下載依賴(即項目pom文件中配置)

這種配置是修改單個項目的pom文件,無需修改maven的setting配置

<repositories>
        <repository>
            <id>nexus</id>
            <url>http://192.168.200.16:8081/repository/maven-public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    <distributionManagement>
        <repository>
            <id>maven-releases</id>
            <name>Nexus Release Repository</name>
            <url>http://192.168.200.16:8081/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>maven-snapshots</id>
            <name>Nexus Snapshot Repository</name>
            <url>http://192.168.200.16:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
  </distributionManagement>

建議使用全局的setting配置,一個項目組共用一個maven的setting配置,項目中就無需配置下載相關的私服倉庫配置

上傳jar包配置(已在上述配置中設置)

對於中央倉庫沒有的jar包,需要我們自己將jar包發佈到私服中去,其中jar包主要分爲兩類,
一類是本地自己開發供給項目組其餘同事使用,這種直接配置項目的pom文件和maven的setting文件,之後deploy發佈即可發佈到;
另一類是第三方jar包,可以直接使用web頁面上傳並設置對應GAV即可;

 

 

出現uploading信息並且沒報錯說明上傳成功。

在此過程中,不能使用maven的地址,連接超時,使用阿里雲的即可

 

然後到對應的倉庫中查看

注意:

  1. 這裏只有Snapshot的倉庫上傳成功,Release倉庫並沒有上傳成功,這是因爲版本號名稱結尾有SNAPSHOT,默認以這個結尾是不會上傳到Release倉庫去的,去除就會上傳到Release倉庫且不會上傳到快照倉庫

  2. Release倉庫默認不支持重複發佈,可配置

  3. 注意setting中server標籤下的id要和pom文件中倉庫配置的id相同,即指定上傳到哪個倉庫

第三方jar包上傳

對於第三方jar包的上傳採用nenus提供的web界面上傳,上傳成功後需要使用該jar包的話,依賴中填寫自定義的GAV即可

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章