Ubuntu部署和體驗Nexus3


關於Nexus

如下圖,在局域網部署了Nexus之后,可以緩存中央倉庫的jar,開發者開發的二方庫發布到Nexus上,局域網內的其他人也可以從Nexus下載這些二方庫使用:
在這里插入圖片描述

環境信息

本次實戰是在Linux服務器上通過Docker安裝Nexus3:

  1. 操作系統:Ubuntu 18.04.3 LTS
  2. Docker:19.03.5
  3. Nexus:3.19.1

安裝docker

  1. apt更新:
apt-get update
  1. 安裝curl:
apt-get install -y curl
  1. 安裝docker:
curl -sSL https://get.docker.com | sh
  1. 安裝完成后,檢查docker是否正常:
root@hedy:~# docker version
Client: Docker Engine - Community
 Version:           19.03.5
 API version:       1.40
 Go version:        go1.12.12
 Git commit:        633a0ea838
 Built:             Wed Nov 13 07:29:52 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.5
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.12
  Git commit:       633a0ea838
  Built:            Wed Nov 13 07:28:22 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.10
  GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
 runc:
  Version:          1.0.0-rc8+dev
  GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

部署Nexus3

  1. 創建工作目錄並賦權限:
mkdir -p /usr/local/work/nexus-data && chown -R 200 /usr/local/work/nexus-data
  1. 下載Nexus鏡像並創建容器:
docker run -d \
-p 8081:8081 \
--name nexus \
-v /usr/local/work/nexus-data:/nexus-data \
sonatype/nexus3:3.19.1

上述命令的參數較多,有幾點需要注意:
a. 容器的8081端口映射到宿主機的8081端口;
b. 容器名為nexus
c. 容器的/nexus-data/目錄被映射到宿主機的/usr/local/work/nexus-data/
d. 鏡像是sonatype官方的3.19.1版本;
3. 等待容器創建成功后,Nexus3即部署成功;

登錄和操作Nexus3

  1. 在控制台執行以下命令,即可獲得Nexuse3的初始密碼:
echo `docker exec nexus cat /nexus-data/admin.password`

我這里得到的是2c9c5399-d0da-48ec-9050-dc4f43cede10
2. 點擊下圖右上角紅框中的Sign in,進入登錄頁面:
在這里插入圖片描述
3. 登錄頁面如下圖,賬號admin,密碼是剛才獲取的2c9c5399-d0da-48ec-9050-dc4f43cede10:
在這里插入圖片描述
4. 登錄成功會提示修改密碼,如下圖,請修改:
在這里插入圖片描述
5. 是否運行匿名訪問,這里勾選上:
在這里插入圖片描述

角色和賬號

在實際使用中,為了安全起見,不能讓每個用戶使用admin賬號,您可以先創建角色,按實際需要給角色增加各種權限,再創建此角色下的賬號:

  1. 點擊下圖紅框中的按鈕,進入設置頁面:
    在這里插入圖片描述
  2. 下圖紅框中是角色管理頁面的鏈接,您可以按照實際情況創建角色:
    在這里插入圖片描述
  3. 這里為了簡化操作就不新建角色了,而是創建一個管理員角色的賬號boling_cavalry,操作如下圖所示:
    在這里插入圖片描述

至此,Nexus3部署完畢,接下來驗證Nexus能否提供jar緩存的功能;

准備兩台電腦驗證Nexus服務

接下來驗證的是Nexus緩存中央倉庫jar包的能力,看看有了Naxus,能否讓我們在開發和構建過程中更快的下載到所需jar;

  1. 另外准備兩台電腦,分別是A電腦和B電腦,用來驗證剛剛部署的Nexus3可以緩存中央倉庫的jar包(您也可以用虛擬機創建兩台電腦);
  2. A、B兩台電腦都已經裝好了JDK8和Maven3;
  3. 如下圖,在倉庫列表頁面,點擊下圖紅框位置,可以得到maven-central倉庫的地址http://192.168.50.75:8081/repository/maven-central/
    在這里插入圖片描述

修改兩台電腦的maven配置文件

電腦A和電腦B上的maven目錄下的conf/settings.xml文件都要做以下修改:

  1. 找到servers節點,增加以下內容:
<server>
      <id>maven-central</id>
      <username>bolingcavalry</username>
      <password>888888</password>
</server>
  1. 找到mirrors節點,增加以下內容,其中url的內容就是前面得到的maven-central倉庫地址:
<mirror>
  <id>maven-central</id>
  <mirrorOf>*</mirrorOf>
  <url>http://192.168.50.75:8081/repository/maven-central/</url>
</mirror>

在A電腦上編譯構建項目(應該很慢)

在A電腦上編譯開源項目spring-cloud-alibaba,此時Nexus上沒有緩存任何jar包,所以編譯速度會很慢,因為所有依賴jar都要從中央倉庫下載,我們來試試:

  1. 登錄A電腦,下載spring-cloud-alibaba的2.1.1.RELEASE歸檔包:
wget https://github.com/alibaba/spring-cloud-alibaba/archive/v2.1.1.RELEASE.tar.gz
  1. 解壓下載的文件:
tar -zxvf v2.1.1.RELEASE.tar.gz
  1. 進入解壓后的目錄:
cd spring-cloud-alibaba-2.1.1.RELEASE/
  1. 編譯:
mvn clean compile -U -DskipTests
  1. 編譯完成,如下圖紅框所示,本次編譯耗時9分27秒
    在這里插入圖片描述
  2. 去Nexus網頁上看看,如下圖,此時已經緩存了不少jar:
    在這里插入圖片描述

在B電腦上編譯構建項目(應該很快)

在B電腦上做同樣的操作,此時Nexus上已經緩存了編譯所需的jar包,所以整個編譯過程應該明顯變快,最終操作結果如下圖所示,僅用了1分零6秒:
在這里插入圖片描述
至此,Ubuntu上部署和體驗Nexus3的實戰就完成了,如果您正在尋求簡單快捷的Nexus部署方案,希望本文能給您一些參考。

https://github.com/zq2599/blog_demos


免責聲明!

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



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