Mac搭建私有maven倉庫,提供Nexus Responsitory鏡像

jopen 8年前發布 | 15K 次閱讀 Maven 項目構建

背景

最近項目陸續都切換到了Android Studio,同時切換到gradl編譯,但是經常由于墻的問題使用的新的插件更新的速度非常慢。因此決定在自己的Mac機器上部署一套私有倉庫代理,即用于自己的開發,也可以提供給團隊或者自己其余的機器使用。

安裝步驟

前置條件:

  1. 已經安裝有jdk;如果沒有安裝jdk可以點擊查看Mac下怎么安裝JDK

安裝Sonatype Nexus

Sonatype Nexus是現在比較流行和成熟的私有倉庫搭建工具,透過nexus可以很輕松的搭建私有倉庫。

  1. 下載nexus

    將工作目錄切換到下載目錄,然后使用命令行下載nexus最新版的安裝包

     wget http://www.sonatype.org/downloads/nexus-latest-bundle.tar.gz

    目前最新版為nexus-2.12.0-01,下載完以后,目錄會存在名為nexus-2.12.0-01-bundle.tar.gz的文件。

  2. 解壓縮

    在目錄下運行解壓縮命令:

      tar zxvf nexus-2.12.0-01-bundle.tar.gz

    解壓縮以后目錄出現名為nexus-2.12.0-01文件夾

  3. 拷貝到目標位置

    將解壓后的nexus-2.12.0-01文件夾拷貝到你的用戶庫目錄。通常為/usr/loal/,個人一般用自己專門的位置。

      mv nexus-2.12.0-01 ~/zixie/Library/

至此nexus已經安裝OK了,等修改好相關的啟動配置,就可以使用了。

配置修改

  1. 在Nexus的安裝目錄找到/bin/nexus
  2. 使用文本編輯器(如sublime)打開nexus
  3. 修改Nexus home

    設置Nexus的根目錄,就是上面部署nexus的為位置,例如:

      NEXUS_HOME="/Users/zixie/zixie/Library/nexus-2.12.0-01"
  4. 設置平臺類型和啟動方式

      RUN_AS_USER=root
      PLATFORM=macosx-universal-64
      PLATFORM_DIR="${NEXUS_HOME}/bin/jsw/${PLATFORM}"
  5. 設置wrapper相關配置

      WRAPPER_CMD="${PLATFORM_DIR}/wrapper"
      WRAPPER_CONF="${PLATFORM_DIR}/../conf/wrapper.conf"
      PIDDIR="${NEXUS_HOME}"

啟動服務

至此所有安裝以及配置相關的內容都已經OK,接下來需要啟動Nexus服務。

  1. 切換到root。

    Nexus啟動需要使用root用戶,在命令行輸入:

     sudo su

    輸入密碼以后即可切換到root用戶。

  2. 啟動服務

    在root用戶下,運行安裝目錄下/bin下面的Nexus命令,即可啟動Nexus:

      /Users/zixie/zixie/Library/nexus-2.12.0-01/bin/nexus start

    當然也可以將bin目錄配置到環境變量,后續就可以直接敲命令而不用帶上路徑了,這個看個人需求。

驗證和配置Nexus Respository

驗證

Nexus安裝完成以后,成功啟動服務以后,打開瀏覽器,輸入:http://localhost:8081/nexus/即可打開配置管理段的頁面。則說明安裝成功了。

配置Respository

點擊界面右上角 “Log in”,然后輸入賬號密碼(默認用戶名:admin密碼:admin123)即可登入管理段。

進入界面以后,點擊左側Repositories,右側會出現很多庫的配置,由于個人只是用來代理第三方庫,因此把除了Central以外的其余庫都刪了。然后根據個人需求配置對應的repository。

點擊add,選擇 proxy Repository,然后添加相關配置。下圖為個人添加oschina的鏡像的相關配置:

nexus-repository-add-new.jpeg

配置完所有配置以后點擊save,即可把oschina添加到代理倉庫。

開啟自動下載

選擇一個Repositories,然后點擊下面的Configuration,然后將Remote Repository Access里面的Download Remote Indexes設置為true,Nexus就會自動從中央倉庫更新資源了。

特別說明:一般很多鏡像庫都非常大,建議只選擇自己需要的部分添加就可以了,不然自動下載的結果就是硬盤被吃滿

代理設置

由于公司內網存在代理,因此為了讓倉庫正常使用,需要添加網絡代理。在左側Administraion中選擇Server,在里面有設置Http Proxy的地方,配置對應的代理即可。如下圖:

nexus-proxy.jpeg

使用私有庫

到目前為止,就完成了私有庫的搭建,項目此時build.gradle腳本中的repository就可以使用自己的庫了。例如在某個Android的build中,就可以將build.gradle修改為下面這樣:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        maven { url "http://localhost:8081/nexus/content/repositories/android"}
    }
    dependencies {
        classpath "com.android.tools.build:gradle-experimental:0.2.+"
    }
}

allprojects {
    repositories {
        maven { url "http://localhost:8081/nexus/content/repositories/android"}
    }
}

來自: http://blog.bihe0832.com/private_maven.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!