nexus3.14.0版本linux環境安裝、啟動、搭建私庫


本文介紹的是nexus3.14.0版本在linux環境下安裝、啟動、搭建私庫。

nexus3以上的版本太新了,網上很少介紹安裝細節的。據了解和2.X版本有所不同了。

1、前提

linux機器上需先安裝好jdk,並且配置好java環境變量。

安裝好maven,並且配置好maven環境變量。

2、安裝

把下載好的nexus-3.14.0-04-mac.tgz文件放到/opt/目錄下。這個目錄你自己可以隨意定。

進入tgz文件所在目錄: cd /opt/

在/opt目錄下解壓縮tgz文件命令: tar -zxvf nexus-3.14.0-04-mac.tgz

解壓縮后當前目錄出現了兩個目錄: nexus-3.14.0-04 和 sonatype-work,注意這個sonatype-work也是個有用的文件夾,不要刪除。

3、修改配置文件

修改啟動文件以root用戶啟動

進入安裝下的bin目錄: cd /opt/nexus-3.14.0-04/bin

用vim命令修改啟動文件nexus:  vim nexus

找到127行(如何顯示行號自行百度),把原來的run_as_root=true改為false,這里我是注釋掉原來那行,新增加了一行run_as_root=false,如下:

#run_as_root=true
run_as_root=false

4、啟動

進入啟動相關配置文件:  cd /opt/nexus-3.14.0-04/etc/  

然后查看配置文件:cat nexus-default.properties

應用啟動端口

  application-port=8081

應用啟動上下文

  nexus-context-path=/     

進入bin目錄,啟動nexus: ./opt/nexus-3.14.0-04/bin/nexus start        注意最前面的那個點不要忽略,最后的start參數之前要有一個空格

執行start命令后,輸出:Starting nexus

我本地啟動大約需要30秒左右,查看nexus是否已啟動命令:ps -ef|grep nexus   如果有輸出則證明啟動了。

驗證是否啟動成功,在瀏覽器里輸入url: 

http://127.0.0.1:8081/          如果在別的機器訪問,例如我這里是http://192.168.125.150:8081/  顯示不出網頁,考慮可能是linux啟用了防火牆,限制了端口號。

這里的url就包含了啟動端口啟動上下文

瀏覽器截圖如下:

 

5、查看nexus相關配置

點擊右上角的Sign in ,用戶名和密碼輸入(默認的):admin / admin123。

點擊設置按鈕,再進入System Information菜單。

1、查看版本信息、節點信息、安裝目錄:

 

2、查看jdk安裝目錄:

3、查看maven安裝目錄:

 4、系統運行時內存情況、線程、聯網情況

其他系統信息不一一列舉。

6、搭建私庫3rd_part

感謝此老兄:https://blog.csdn.net/u013887008/article/details/79429973(向nexus3私服上傳jar包)

使用默認的用戶名和密碼登錄:admin / admin123。

新建倉庫:3rd_part

在nexus3.X版本已經沒有repository ID的概念了,所以取個name就好,配置文件需要用到repository ID的地方統統使用name就行。新建repository:

注意上圖的 Release,nexus2不清楚,但是在nexus3中,這個庫要區分是存放RELEASE穩定版本的,還是存儲SNAPSHOT不穩定版本的。

這會影響到當你使用mvn deploy命令把本地的jar或其他maven構件上傳到nexus私服時,如果你的項目打包版本例如是0.0.1-SNAPSHOT,就會說不允許上傳到release穩定版本庫中。

7、為新版本庫3rd_part歸納到中央庫maven-public

當新庫3rd_part創建完畢時,要把新庫歸納到我們的版本庫中心:maven-public,這個庫是所有其他庫的中央庫,包含了其余所有庫的包,歸納操作步驟:

雙擊maven-public庫,進入詳細頁:

把新建的庫3rd_part點擊向右箭頭歸納到中央庫的組內來,然后點擊save保存。

8、為新版本庫3rd_part創建權限、角色、用戶(可選)

在之前的nexus版本中,但凡創建一個新庫,都要手動創建該庫的權限,但是nexus3中,系統已經自動創建出了新庫的所有權限nx-repository-admin-maven2-3rd_part-*

其余例如read、delete、browse等權限也都已經自動創建好了,權限細粒度還是比較好的。

 

接下來需手動創建角色:nx-role-3rd_part :

把nx-admin的最大角色包含進來到新角色nx-role-3rd_part ,並把新庫的所有權限 nx-repository-admin-maven2-3rd_part-* 都賦予給這個角色,最后點擊save保存:

創建用戶部分可選,此處省略,類似以上步驟。練習用途的話直接使用admin/admin123即可。如果需要創建用戶,務必把roles角色賦予給這個用戶。

9、maven的setting.xml配置

 配置你訪問某個repository倉庫用哪個用戶名和密碼,如果你有多個倉庫,對應不同項目上傳的私服repository地址,則需要在這里配置多個server標簽,在<servers>中添加:

<server>
         <id>3rd_part</id>  <!-- 注意這里的id一定要和你項目中的私服地址id一模一樣,如果這里的用戶名密碼寫錯了,會報錯:會報錯401, ReasonPhrase: Unauthorized. -->
        <username>admin</username>
        <password>admin123</password>
</server>

 

配置你的私服地址,在<mirrors>中添加,

<mirror>
         <!--此處配置所有的構建均從私有倉庫中下載 *代表所有,也可以寫central -->
         <id>nexus3</id>
         <mirrorOf>*</mirrorOf>
        <url>http://192.168.125.150:8081/repository/maven-public/</url>
     </mirror>

 

在<profiles>中添加:

<profile>
             <id>nexus3</id>
             <repositories>
                 <repository>
                     <id>maven-public</id>   <!-- 1111, 這里的id需和2222那里的一樣,在同一個profile里  -->
                     <url>http://192.168.125.150:8081/repository/maven-public/</url>
                     <releases><enabled>true</enabled></releases>
                     <snapshots><enabled>true</enabled></snapshots>
                 </repository>
             </repositories>
             <pluginRepositories>  <!-- 這里是插件倉庫地址 -->
                 <pluginRepository>
                     <id>maven-public</id>  <!-- 2222, 這里的id需和1111那里的一樣,在同一個profile里  -->
                     <url>http://192.168.125.150:8081/repository/maven-public/</url>
                     <releases><enabled>true</enabled></releases>
                     <snapshots><enabled>true</enabled></snapshots>
                 </pluginRepository>
             </pluginRepositories>
</profile>    

 

啟用id為nexus3的profile的配置:

<activeProfiles>
        <activeProfile>nexus3</activeProfile>
  </activeProfiles>

 

 

10、項目私服配置

 在<project>標簽下添加distributionManagement標簽,這個標簽應該和<groupId><artifactId>這些標簽是同級的

 

<!-- 這個配置是上傳到私服的配置 -->
    <distributionManagement>
        <repository>
            <!-- 上傳到私服的倉庫id。注意:nexus3里沒有了repository id的概念,直接使用name作為id的值即可,也可以起一個另外的有意義的名字。
          但是!!此id的值必須與setting.xml里server標簽里的其中一個id相同,server里配置的用戶名和密碼才能對這個私庫起作用,否則,會報錯401, ReasonPhrase: Unauthorized.
        
--> <id>3rd_part</id> <!-- 上傳到私服的倉庫name --> <name>3rd_part</name>
        <!-- 一般項目都是上傳到自己的項目私庫,每個項目的私庫應該分開,尤其是微服務項目。同一個微服務項目下的各個子項目應該被放在同一個私庫。 -->
<url>http://192.168.125.150:8081/repository/3rd_part/</url> </repository> </distributionManagement>

 注意:nexus3里沒有了repository id的概念,直接使用name作為id的值即可,也可以起一個另外的有意義的名字。

11、上傳jar、war到私服

打開cmd,到項目根目錄下,按照以下步驟執行maven命令:

mvn clean     //清空target目錄

mvn install     //打包項目到target目錄

mvn package    //打包項目並且將包同步到本地maven庫

mvn deploy       //將打包好的包同步上傳到私庫,deploy命令發布成功截圖如下:

 注意,如果你mvn deploy執行的是父類項目,也就是這個項目中的pom.xml中有以下標簽的項目:

<modules>
  <module>../project1</module>
  <module>../project2</module>
</modules>

那么就會把project1和project2都upload上傳到nexus私服。

12、驗證上傳到私庫的包

在3rd_part私庫中,確實找到了上傳的jar包:

13、上傳包的存放地址

感謝這位老兄:https://www.cnblogs.com/acm-bingzi/p/mavenNexusPath.html (maven上傳jar包到nexus私服后的存放路徑 以及 使用IDEA上傳jar包的步驟)

上圖中可以看到以.jar命名的文件,也可以下載。

這讓我一度以為是以jar包的形式保存在本地,但事實證明,保存在本地的最終是一個 .bytes 類型的文件,它的默認路徑在\sonatype-work\nexus3\blobs\default\content下面以.bytes的文件存在:

注意這個sonatype-work的文件夾在nexus3.14版本中是和nexus-3.14.0-04文件夾同處於一個文件夾下的同一層級。

在tar -zxvf命令解壓縮nexus3.14.tar.gz文件時,自動解壓出兩個文件夾:sonatype-work 、nexus-3.14.0-04

 


免責聲明!

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



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