Maven篇----02 Nexus2私服管理


Nexus2 私服管理

一、Repositories 倉庫管理

1.1 開啟搜索功能

  1. 首先需要設置Nexus中的 Central代理倉庫下載遠程索引。
    Repositories -> Central 倉庫,點擊 Configuration -> Download Remote Indexes 項設為True , 並保存。開啟下載遠程索引。如圖:
  1. 索引下載完畢后,在界面左邊導航欄搜索框 Artifact Search 中錄入關鍵字,即可搜索到對應的Maven構件了。

  2. Repositories -> Central 倉庫選中,點擊Repair Index,Update Index 可以修復和更新索引

1.2 添加宿主倉庫,代理倉庫,倉庫組等

以添加 jboss 代理資源庫為例

  1. 點擊左側 Repositories -> Add,在彈出的下拉菜單中,選擇 Proxy Repository
  2. 填寫信息並保存:
    Respository ID:jboss-public-repository-group (可修改)
    Respository Name:JBoss Public Maven Repository Group (可修改)
    Remote Storage Location:https://repository.jboss.org/nexus/content/groups/public-jboss/ (jboss公布的公開資源庫)
    其它項保持默認

1.3 配置阿里雲代理倉庫

Nexus默認遠程倉庫響應慢,而且經常連不上。可以添加阿里雲代理倉庫,具體步驟如下:

  1. 點擊左側 Repositories -> Add,在彈出的下拉菜單中,選擇 Proxy Repository
  2. 填寫信息並保存:
    Repository ID: aliyun
    Repository Name: Aliyun Repository
    Remote Storage Location: http://maven.aliyun.com/nexus/content/groups/public/
  1. 把aliyun添加到倉庫組中,記得aliyun要排在central前邊。
    選中倉庫組 Public Repositories,把 Aliyun Repository 從 Availiable Repositories 中拖到Ordered Group Repositories中,放在Central上邊。保存
  1. 這樣,就可以優先訪問阿里雲倉庫了。

1.4. 上傳第三方jar包

  1. 選擇 3rd party -> Artifact Upload -> 選擇GAV方式-->填好構建參數-->增加jar包-->上傳,在Browse Storeage查看

二、Security 權限管理

Nexus是基於權限做訪問控制的,服務器的每一個資源都有對應的權限來控制,因此用戶執行特定的操作時就必須擁有必要的權限。管理員必須以角色的方式將權限賦予Nexus用戶。用戶可以被賦予一個或者多個角色,角色可以包含一個或多個權限,角色還可以包含一個或者多個其他角色

2.1. 為Nexus配置Releases和Snapshots的權限

小知識:release和snapshot 的差異點
Releases和Deployment Policy設置為:Disable Redeploy
Snapshot中的Deployment Policy這個選項設置為:Allow Redeploy 
-----意思是:Maven-releases 版本默認是不能覆蓋的,嘗試將相同版本號的jar 放入會報錯。
  1. 添加權限
    在Security 下的Privileges 菜單中,點擊Add按鈕,添加release和snapshots權限,具體配置如下圖:
  1. 建立角色
    在Security 下的Role 菜單中,點擊Add按鈕,添加release和snapshots角色,具體配置如下圖:
  1. 和用戶進行綁定
    在Security 下的Users 菜單中,選擇deployment用戶 添加剛剛建立的權限:

補充:預定義用戶
admin:該用戶擁有Nexus的全部權限,默認密碼為admin123。
deployment:該用戶能夠訪問Nexus,瀏覽倉庫內容、搜索、上傳部署構件,但是不能對Nexus進行任何配置,默認密碼為deployment123。
anonymous:該用戶對應了所有未登錄的匿名用戶,它們可以瀏覽倉庫並進行搜索。

三、Scheduled Tasks 調度任務

Nexus提供了一系列可配置的調度任務來方便用戶管理系統。用戶可以設定這些任務運行的方式,例如每天、每周等。調度任務會在適當的時候在后台運行。

Nexus包含了以下幾種類型的調度任務:
o Download Indexs:為代理倉庫下載遠程索引。
o Empty Trash:清空Nexus的回收站,一些操作實際是將文件移到了回收站中。
o Evict Unused Proxied Items From Repository Caches:刪除代理倉庫中長期未被使用的構件緩存。
o Expire Repository Cache:Nexus為代理倉庫維護了遠程倉庫的信息以避免不必要的網絡流量,該任務清空這些信息以強制Nexus去重新獲取遠程倉庫的信息。
o Publish Indexs:將倉庫索引發布成可供m2eclipse和其他Nexus使用的格式。
o Purge Nexus Timeline:刪除Nexus的時間線文件,該文件用於建立系統的RSS源。
o Rebuild Maven Metadata Files:基於倉庫內容重新創建倉庫元數據文件maven-metadata.xml,同時重新創建每個文件的校驗和md5與sha1。
o ReIndex Repositories:為倉庫編纂索引。
o Remove Snapshots From Repositories:以可配置的方式刪除倉庫的快照構件。
o Synchronize Shadow Repository:同步虛擬倉庫的內容(服務基於Maven1)。

3.1 建立一個調度任務,

  1. 單擊左邊導航菜單中的“Scheduled Tasks”,然后再右邊的界面上單擊Add按鈕,按照頁面上的提示填寫相關內容。比如建立一個每個月更新一次中央倉庫索引的任務:

小問題

有時局域網里架構的Nexus服務器,並不能訪問外網
解決辦法:

  1. 開發人員的機器通常是能上網的,先修改本機settings.xml中鏡像為阿里雲鏡像倉庫;
  2. 待項目編譯完成,將本機 "當前用戶.m2\repository"下的文件復制到Nexus私服的sonatype-work\nexus\storage\central 目錄下。
  3. 登錄Nexus管理界面,手動更新索引,其他開發人員即可使用私服JAR。

Nexus參考資料:
產品主頁:https://www.sonatype.com/nexus-repository-oss
下載頁面:https://www.sonatype.com/download-oss-sonatype
開源地址:https://github.com/sonatype/nexus-public
官方文檔:https://help.sonatype.com/display/NXRM3/
插件列表:http://exchange.sonatype.com/list
White Papers:https://www.sonatype.com/learn-white-papers


免責聲明!

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



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