Nexus學習筆記--Nexus3使用教程


Nexus學習筆記--Nexus3使用教程

目前 Nexus 分為 Nexus 2 和 Nexus 3 兩個大版本,它們是並行的關系。與 Nexus 2 相比,Nexus 3 具有很多優勢,例如支持更多的倉庫格式、優化了用戶的使用界面以及更加強大的搜索功能等等。

目前使用最多的,運行最穩定是 Nexus 2,但隨着 Nexus 3 對 Maven 的支持越來越穩定,很多公司和組織都陸續開始使用 Nexus 3。

本節我們將介紹 Nexus 3 的安裝和訪問過程。

下載 Nexus 3

1. 進入 Nexus 3.x 下載頁面(目前最新版是 3.30.0-01),根據操作選擇相應的版本進行下載。

圖1:Nexus 下載頁面

2. 將下載的安裝包解壓到本地,可獲得 nexus-3.30.0-01 和 sonatype-work 兩個目錄,如圖 2。

圖2:Nexus 解壓

其中:

  • nexus-3.30.0-01:此目錄包含 Nexus 運行所需要的文件以及所有必需的其他組件,如啟動腳本、依賴 jar 包等。
  • sonatype-work:該目錄包含所有由 Nexus 存儲和管理的倉庫,組件和其他數據。

啟動 nexus 服務

我們可以在 nexus-3.30.0-01\bin 目錄下發現一個名稱位 nexus.exe 的可執行文件,它是在 Windows 平台上運行 Nexus 的啟動腳本,該腳本包含了啟動服務、停止服務、創建服務和刪除服務等命令。

打開命令行窗口,跳轉到 nexus-3.30.0-01\bin 目錄下,執行以下命令,啟動 Nexus 服務。

nexus /run

執行結果結果如圖 3 所示,則表示 Nexus 啟動完成。

圖3:Nexus 3 啟動完成

訪問 nexus 3.x

啟動完成后,在瀏覽器地址欄輸入 http://localhost:8081/,訪問 Nexus 界面,如圖 4 所示。

4:Nexus 3 用戶界面

點擊 Nexus 3.x 首頁右上角的“Sign in”按鈕,在登錄頁面輸入用戶名和 密碼(默認用戶名為 admin,默認密碼則保存在 /sonatype-work/nexus3 目錄下的 admin.password 文件中),點擊“Sign in”按鈕登錄,如圖 5 所示。

圖5:Nexus 3 登錄界面

登錄成功后,結果如圖 6 所示。

 

 圖6:Nexus 3 登錄成功

Nexus2遷移升級到Nexus3

與 Nexus 2.x 相比,Nexus 3.x 為我們提供了更多實用的新特性,隨着 Nexus 3.x 對 Maven 的支持越來穩定,很多公司和組織都陸續將數據從 Nexus 2.x 遷移升級到 Nexus 3.x。

SonaType 官方建議我們,使用最新版本 Nexus 2.x 升級到最新版本 Nexus 3.x,並在 Nexus 升級兼容性 一文中為我們提供了各個版本 Nexus 升級到最新版本 Nexus 3.x 的流程,如下表。

舊版本 升級流程
3.1.0 或更高版本
  1. 升級到最新 3.x 版本
3.0.0 到 3.0.2
  1. 學習 3.1.0 中引入的重要目錄布局
  2. 升級到最新 3.x 版本
最新 2.x 版本
  1. 升級到最新 3.x 版本
2.0 及 其他 2.x 版本
  1. 升級到最新 2.x 版本
  2. 升級到最新 3.x 版本
1.x 
  1. 升級到 2.7.2 之前的任何 2.x 版本 
  2. 升級到最新 2.x 版本
  3. 升級到最新 3.x 版本

注:Nexus 1.x 不支持直接升級到 2.7.2 之后的版本

由上表可知,從 Nexus 2.x 升級到 Nexus 3.x 需要 2 步:

  1. 升級到 Nexus 2.x 最新版本
  2. 升級到 Nexus 3.x 最新版本


本節我們以 Nexus 2.11.4-01 為例,演示如何將 Nexus 2.x 升級到 Nexus 3.x。

升級到 Nexus 2.x 最新版本

1. 下載並提取 Nexus 2.x 最新版本

下載並解壓最新版本的 Nexus 2.x(目前為 Nexus-2.14.20-02),具體下載和解壓步驟請參考 Nexus 2.x 下載和安裝

2. 替換工作目錄 

無論是 Nexus 2.x 還是 Nexus 3.x,其安裝包在解壓后都包含兩部分:

  • nexus-版本號        Nexus 應用程序目錄 
  • sonatype-work    Nexus 工作目錄(真正的倉庫,同時包含了 Nexus 的配置,如定時任務、用戶配置)

若 Nexus 的版本升級是在大版本相同的情況下進行的(例如從 Nexus 2.11.4-01 升級到 Nexus-2.14.20-02),則只需要將新的 Nexus 工作目錄復制到現有版本的目錄下,替換舊版本 Nexus 的工作目錄即可。

3. 修改配置文件

如果用戶對以下文件的默認配置進行了任何更改,則需要在新版本中手動進行相同的更改,Nexus 不支持將這些文件從一個版本復制到另一個版本。

  • <應用程序目錄> /conf/nexus.properties
  • <應用程序目錄> /conf/jetty*.xml
  • <應用程序目錄> /bin/jsw/conf/wrapper.conf
  • <應用程序目錄> /nexus/WEB-INF/classes/ehcache.xml
  • <應用程序目錄> /conf/logback*.xml

由於 Nexus 升級遷移過程需要同時啟動 Nexus 2.x 和 Nexus 3.x,為了防止端口(兩者默認端口都是 8081)沖突,我們可以將 Nexus 2.x 啟動時監聽的端口(端口在 <應用程序目錄>/conf/nexus.properties 中配置)修改為 8082。

圖1:修改 Nexus 端口

4. 將 Nexus 2 服務指向新實例

在以上步驟完成后,如果舊版本 Nexus 是作為 Windows 服務運行的,那么我們需要將舊版本的 Nexus 服務卸載,然后使用新實例重新安裝 Nexus 服務,具體操作步驟如下。

1) 使用 win +R 快捷鍵,打開運行窗口,輸入 services.msc,點擊確定按鈕,如圖 2 所示。

圖2:運行窗口

2)進入Windows 服務列表,找到服務名為 nexus 的服務。

圖3:nexus 服務 

3)雙擊 nexus 服務,打開服務屬性窗口,可以看到該服務指向的是舊版本的 Nexus 2.x。

圖4:nexus 服務屬性

4)在舊版本 Nexus 應用程序目錄下的 bin\jsw\windows-x86-64 目錄(根據本機操作系統而定)中,以管理員身份運行 uninstall-nexus.bat,卸載 nexus 服務。

圖5:卸載現有版本 Nexus 的服務

5)在新版本 Nexus 應用程序目錄下的 bin\jsw\windows-x86-64 目錄(根據本機操作系統而定)中 ,以管理員身份運行 install-nexus.bat,安裝 nexus 服務。

圖6:安裝新版本 Nexus 服務

6)再次進入服務列表,查看 nexus 服務屬性,可以看到該服務已經指向新版本 Nexus 實例。

圖7:nexus 服務指向新版本 Nexus

5. 啟動新實例

在新版本 Nexus 的 <應用程序目錄>\bin\jsw\windows-x86-64 目錄(根據本機操作系統而定),以管理員身份運行 start-nexus.bat。啟動成功后,在瀏覽器地址欄輸入:http://localhost:8082/nexus,訪問新版本 Nexus 2.x 用戶界面。

圖8:升級后 Nexus 界面(猛擊圖片,查看原圖)

升級到 Nexus 3.x 最新版本

將 Nexus 2.x 升級到 Nexus 3.x,從本質上說就是將 Nexus 2.x 中的數據傳輸或遷移到 Nexus 3.x。

Nexus 2.x 升級到 Nexus 3.x 通常需要如下 4 步:

  1. Nexus 2.x 啟用 Upgrade: Agent (升級代理)功能
  2. Nexus 3.x 啟用 Upgrade (升級)功能
  3. 在 Nexus 3.x 中配置升級信息
  4. 運行升級程序

1. Nexus 2.x 啟用  Upgrade: Agent 功能

Nexus 2.x 升級到 Nexus 3.x 的第一步,就是在 Nexus 2.x 中開啟 Upgrade: Agent 功能,操作步驟如下。

1)在 Nexus 2.x 用戶界面左側的導航欄中,點擊 Administration 下的 Capabilities,查看 Nexus 2.x 功能列表,如下圖。
圖9:Nexus 2.x 功能列表

2)點擊 Capabilities 列表上方的 New 按鈕,新建一個類型(Type)為 Upgrade: Agent 的功能,並填寫 Access Token,最后點擊下方的 Add 按鈕,如下圖。

圖10:Nexus 2.x 添加 Upgrade: Agent  功能

3) 返回列表頁,可以看到已經添加了  Upgrade: Agent,選中該功能可以在下方查看或修改其中配置,如下圖。

圖11:Nexus 2.x Upgrade:Agent

這里需要注意的是,Access Token 扮演的角色十分的重要,它是 Nexus 之間數據傳輸的重要憑證之一。

Nexus 3.x 啟用 Upgrade 功能

接下來,我們需要在 Nexus 3.x 中開啟 Upgrade 功能,用來接收來自 Nexus 2.x 傳輸的數據,具體步驟如下。

1)點擊最上方的齒輪狀圖標,切換到 Nexus 3.x “管理和配置”模塊,然后點擊 System 下的 Capabilities ,查看 Nexus 3.x 功能列表,如下圖。

圖12:Nexus 3.x 功能列表(猛擊圖片,查看原圖)

2)點擊列表上方的 Create capability 按鈕,創建一個類型(Type)為 Upgrade 的功能,如下圖。

圖13:Nexus 3.x 新建 Upgrade 功能

3)隨后我們發現,不但在功能列表中新增了一條類型為 Upgrade 的數據,而且在 System 下還多出了一個 Upgrade 菜單,如下圖。

圖14:Nexus 3.x 新增 Upgrade 菜單

運行升級程序

1)Nexus 3.x 啟用升級功能后,點擊 System 下的 Upgrade ,進入升級程序概述。概述中介紹了升級過程中的注意事項、允許升級的內容、無法升級的內容。閱讀完成后,點擊下方的 Next 按鈕。

圖15:Nexus 升級程序概述(猛擊圖片,查看原圖)


2)跳轉到 “代理鏈接(Agent Connection)”頁面,配置 URL 、Access Token 等字段,配置完成后,點擊下方的 Next 按鈕。

圖16:Nexus 代理連接

以上字段說明如下:

  • URL:Nexus 2.x 的完整訪問地址,例如 http://localhost:8082/nexus。
  • Access Token:Nexus 2.x 啟用升級代理(Upgrade: Agent)功能時配置的 Access Token。

3)跳轉到“內容”頁面,在該頁面中,我們需要選擇升級過程中傳輸的內容,包括以下 2 項:

  • 倉庫的配置及內容
  • Nexus 服務器配置

選擇完成后,點擊下方的 Next 按鈕。

圖17:Nexus Content

4)跳轉到“倉庫默認設置(Repository Defaults)”頁面,設置倉庫內容的存儲位置(Blob store)以及數據傳輸方式(Data Transfer Method),設置完成后,點擊下方的 Next 按鈕。

圖18:Nexus 3.x Repository Defaults

5)跳轉到“倉庫(Repositories)” 頁面,選擇遷移的倉庫,選擇完成后,點擊下方得 Next 按鈕,如下圖。

圖19:Nexus 升級 倉庫選擇

除了選擇升級得倉庫,點擊倉庫列表最后一列的配置圖標,可以為倉庫自定義升級選項,如下圖。

圖20:Nexus 倉庫自定義升級選項

6)配置完成后,點擊最下方的 Next 按鈕,跳轉到 “預覽(Preview)”頁面。該頁面中展示了所有的升級配置信息,確認無誤后,點擊下面的 Begin 按鈕,開始運行升級程序,如下圖。

圖21:Nexus 升級預覽

7)開始升級前,會先跳轉到 “准備(Preparing)”頁面,先進行簡短的准備工作。當准備工作進度條到達 100% 后,點擊下方的 Continue 按鈕,繼續進行下一步。

: 圖22:Nexus 升級准備工作(猛擊圖片,查看原圖)

8)跳轉到“同步(Synchronizing)”頁面,在這里 Nexus 升級程序會執行兩步操作,掃描倉庫和數據同步。倉庫掃描完成后,點擊下方的 Continue 按鈕,開始同步數據。同步開始以后,再對 Nexus 2.x 倉庫所做的任何修改都不會同步到 Nexus 3.x 中。

圖23:Nexus 同步(猛擊圖片,查看原圖)

9)同步完成后,點擊下方的 Done 按鈕,退出升級程序。

圖24:Nexus 遷移升級完成(猛擊圖片,查看原圖)

10)點擊最上方的立方體圖標,切換到 Nexus 3.x “瀏覽”模塊,點擊左側的 Browse 菜單,瀏覽 Nexus 3.x 倉庫列表,可以看到 Nexus 2.x 中的倉庫及構件都已經遷移到 Nexus 3.x 了。
圖25:Nexus 3.x 升級倉庫列表
至此,我們就完成了將數據從 Nexus 2.x 遷移到 Nexus 3.x 的全部工作。


免責聲明!

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



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