Ubuntu部署和體驗Nexus3

關於Nexus

以下圖,在局域網部署了Nexus以後,能夠緩存中央倉庫的jar,開發者開發的二方庫發佈到Nexus上,局域網內的其餘人也能夠從Nexus下載這些二方庫使用:
在這裏插入圖片描述linux

環境信息

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

  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即部署成功;github

登陸和操做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. 是否運行匿名訪問,這裏勾選上:
在這裏插入圖片描述
spring

角色和帳號

在實際使用中,爲了安全起見,不能讓每一個用戶使用admin帳號,您能夠先建立角色,按實際須要給角色增長各類權限,再建立此角色下的帳號:docker

  1. 點擊下圖紅框中的按鈕,進入設置頁面:
    在這裏插入圖片描述
  2. 下圖紅框中是角色管理頁面的連接,您能夠按照實際狀況建立角色:
    在這裏插入圖片描述
  3. 這裏爲了簡化操做就不新建角色了,而是建立一個管理員角色的帳號boling_cavalry,操做以下圖所示:
    在這裏插入圖片描述

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

準備兩臺電腦驗證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部署方案,但願本文能給您一些參考。curl

https://github.com/zq2599/blog_demos

相關文章
相關標籤/搜索