[Gradle中文教程系列]-跟我學Gradle-4.1:Nexus私服的安裝與配置

Nexus的安裝與配置

僅以此文,獻給陷入懶癌晚期的小伙伴們.

本文基于nexus 3.xx

.0. What?Why?When?Who?Where?

Sonatype Nexus是一款maven倉庫管理軟件,有了它,你可以方便的搭建屬于自己的maven私服。而通過搭建私服,可以帶來幾個顯而易見的好處。

  • 節省外網帶寬:以一個30人的項目小隊為例,如果沒有私服,所有的人在更新依賴時,都將從中央倉庫去檢查更新,這無疑增加了外網負擔。
  • 方便內網協作:很多Team工作中會出現沒有外網、不允許連接外網或者外網訪問受限的情況。這時候總有那么1-2臺機器是可以順暢的連接外網的,如果在外網機器上搭建私服,再配以梯子。無疑方便又高效。
  • 組件共享:開發的公共組件,又不想上傳到三方倉庫怎么辦,上傳到私服,設定一個坐標便可以像其它依賴一樣隨時引用了。

.1.下載

下載地址:http://www.sonatype.com/download-oss-sonatype
  一般官方會提供兩個包,一個安裝板和解壓版。可以根據自己的喜好選擇喜歡的版本下載。這里我選擇的是解壓版的進行安裝。
  本文采用的是3.X版本,3.x版本增加了對docker、npm等倉庫的支持,但遺憾的是暫時不支持手工upload構件,據說這個功能會在3.1之后支持。

.2.安裝&配置

[官方文檔](http://books.sonatype.com/nexus-book/3.0/reference/install.html
  先決條件 : 配置好了 JDK , JDK的配置不在本文討論范圍 , 不贅述 。
** 啟動 **
  解壓下載的壓縮包,打開命令行跳到指定解壓目錄下的 bin 目錄下,執行./nexus /run(windows執行nexus.exe /run),然后經過一段時間的等待,當你發現控制臺打印出Started Nexus Repository Manager 3.0.1-01這句話時,恭喜,Nexus已經安裝成功。
  訪問 : http://localhost:8081,可以進入倉庫頁面。默認的用戶名密碼是admin/admin123,運行后會自動生成一個nexus工作目錄sonatype-work,nexus下載的jar包會存放在sonatype-work/nexus/storage中。

** 停止 **
  Ctrl+c即可

** 修改存儲路徑 **
  可以通過修改bin/nexus.vmoptions文件修改數據存儲路徑、緩存路徑等。

** 修改端口、ip **
  如果要修改IP、端口等可以通過修改etc/org.sonatype.nexus.cfg文件進行修改。

** 倉庫 **
nexus的倉庫類型分為以下幾種:

  • group: 倉庫組
  • hosted:宿主倉庫
  • proxy:代理倉庫

點擊頁面頂端的齒輪按鈕->點擊repositories,可以看到nexus已經預置了7個倉庫,可以點擊create repositories添加其他的倉庫,比如

.3.使用

** 使用私服 **
點擊頁面頂端的齒輪按鈕->點擊repositories,在列表中,找到需要的倉庫,復制url內容,添加到gradle腳本中.

repositories {
    maven { url "http://localhost:8081/repository/maven-public/"}
    maven { url "http://localhost:8081/repository/spring-public/"}
    jcenter()
    mavenCentral()
}

** 發布到私服 **
修改gradle.properties

nexusUrl=http://localhost:8081
nexusUsername=admin
nexusPassword=admin123

使用maven插件進行上傳

uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: "${nexusUrl}/repository/maven-releases/") {
                authentication(userName: nexusUsername, password: nexusPassword)
            }
            snapshotRepository(url: "${nexusUrl}/repository/maven-snapshots") {
                authentication(userName: nexusUsername, password: nexusPassword)
            }
        }
    }
}

** 手動發布 **

以下是2.x版本的上傳方式,3.x版本據說要等到3.1以后才支持。

在nexus的倉庫列表中點擊要部署的目標倉庫,然后點擊Artifact Upload選項卡,在Gav definition選擇,Gav parameters,然后在下面的三個輸入框里輸入group、artifactID、version等相關信息,然后點擊select artifact to upload上傳即可。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容