Linux 使用 Nexus3.x 為 Android 搭建私服

現在AndroidStudio使用Gradle作為依賴管理工具,

可以說是Android目前最好的依賴管理工具,我們經常通過在build.gradle通過簡單的依賴配置就可以使用某個開源項目了,例如okhttp、retrofit,但是如果公司把自己的核心庫往jcenter上傳又是不太可能的,基于這個問題,今天給大家帶來了本篇文章,在強大的Linux平臺,使用 Nexus3.x 為 Android 搭建私服,為公司構建自己的本地內部倉庫。

1.倉庫管理工具Nexus3.x介紹

Nexus是“開箱即用”的系統,不需要數據庫,它使用文件系統加Lucene來組織數據,支持WebDAV與LDAP安全身份認證。Nexus還提供了強大的倉庫管理功能,構件搜索功能,它基于REST,友好的UI是一個extjs的REST客戶端,它占用較少的內存,基于簡單文件系統而非數據庫。

Nexus極大地簡化了本地內部倉庫的維護和外部倉庫的訪問。另外,Nexus還可以在代理遠程倉庫的同時維護本地倉庫,以降低中央倉庫的負荷,節省外網帶寬和時間。

本篇Nexus選擇3.x版本,Nexus3.x相較2.x版本有很大的改變:

1)從底層重構,從而提高性能,增強擴展能力,并改善用戶體驗

2)升級界面,增加更多的瀏覽,搜索和管理功能

3)提供安裝包,使部署更簡單(安裝完自動添加成服務,省去手動添加的麻煩)

4)增加 Docker,NuGet,npm,Bower的支持

5)提供新的管理接口,從而能自動管理任務。

注意:3.x版本只能運行在JVM8及以上

總之,本地內部倉庫在本地構建nexus私服的好處有:

1)加速構建、穩定;

2)節省帶寬、節省中央maven倉庫的帶寬;

3)控制和審計;

4)能夠部署第三方構件;

5)可以建立本地內部倉庫、可以建立公共倉庫

這些優點使得Nexus日趨成為最流行的Maven倉庫管理器。

2.Linux平臺遠程shell安裝Nexus

這里Linux選用CentOS7.2。

1)安裝jdk 參考文章http://blog.csdn.net/smartbetter/article/details/53535435#t3

2)下載Nexus開源版本https://www.sonatype.com/download-oss-sonatype

3)上傳服務器Nexus安裝包,服務器ip假定為192.168.2.20

$ scp ~/Downloads/nexus-3.2.0-01-unix.tar.gz root@192.168.2.20:/usr/local

4)安裝Nexus(源碼安裝方式)

$ ssh root@192.168.2.20? ? ? ? ? ? ? ? ? ? ? ? //SSH連接

# cd /usr/local

# mkdir nexus

# tar -zxvf nexus-3.2.0-01-unix.tar.gz -C nexus //解壓縮

解壓之后會有兩個文件夾,nexus-3.2.0-01和sonatype-work

# cd nexus

# mv nexus-3.2.0-01/ nexus

自定義配置虛擬機可打開nexus.vmoptions文件進行配置(如果Linux硬件配置比較低的話,建議修改為合適的大小,否則會出現運行崩潰的現象):

# cd nexus/bin/nexus.vmoptions? ? ? ? ? ? ? ? ? //虛擬機選項配置文件

4)啟動Nexus(默認端口是8081)

Nexus常用的一些命令包括:/usr/local/nexus/nexus/bin/nexus {start|stop|run|run-redirect|status|restart|force-reload},下面我們啟動Nexus:

# /usr/local/nexus/nexus/bin/nexus start? ? ? //啟動后稍等會兒才能正常訪問

WARNING: ************************************************************

WARNING: Detected execution as "root" user.? This is NOT recommended!

WARNING: ************************************************************

Starting nexus

上面在啟動過程中出現警告:“不推薦使用root用戶啟動”。這個警告不影響Nexus的正常訪問和使用。去掉上面WARNING的辦法請自行百度。

下面用其他計算機訪問Linux服務器:192.168.2.20:8081

出現上述頁面,說明配置nexus成功!

3.創建自己的Android代碼倉庫

點擊Nexus“Log in”,

輸入默認用戶名(admin)和默認密碼(admin123)登錄。

可以點擊上面的“設置”圖標,在“設置”里可以添加用戶、角色,對接LDAP等的設置,如下:

這里我們創建用戶user:

創建完成后退出admin,登錄user。

我們點擊Repository下Repositories創建android用戶的倉庫:

然后這里填寫相關信息,創建倉庫android:

我們來看一下創建的倉庫:

到此我們自己的倉庫創建成功。

4.上傳和引用已編譯的module

這里我們使用Android Studio新建一個Android Project,然后新建一個Android Library(module),命名為utilslibrary,并在其中新建一個Utils類,供我們后續測試使用。

這個module也就是我們準備上傳的module。

1.上傳module:

1)配置Project的build.gradle:

allprojects {? ??

? ? ? ? ? ? repositories {

? ? ? ? ? ? ? ? ? ? jcenter()

? ? ? ? ? ? ? ? ? ? mavenLocal()

? ? ? ? ? ?}

}

路徑地址如下copy:

3)雙擊uploadArchives(如下圖中按鈕)上傳module:

等待module的上傳:

當全部顯示ok時上傳成功,此時我們在電腦上打開私服(http://192.168.2.20:8081/),登錄用戶user,再看一下之前創建的倉庫:

ok,到此module上傳成功。

2.引用已經上傳的module:

我們再在Android Studio中新建一個全新的Android Project,然后配置Project的build.gradle文件:

buildscript {...}

allprojects {? ??

? ? ? ? ? ?repositories {? ? ? ??

? ? ? ? ? ? ? ? jcenter()? ? ? ??

? ? ? ? ? ? ? ? maven { url"http://192.168.2.20:8081/repository/android/"}? ??

? ? ? ? ? }

}

路徑地址如下copy:

此時我們就可以通過依賴的方式引用已經上傳的module了:

我們直接在build.gradle(Module:app)添加依賴:

compile'net.smartbetter:utilslibrary:0.0.1'

我們看一下External Libraries:

發現已經存在utilslibrary-0.0.1了,這時我們就就可以在我們的工程項目中調用utilslibrary-0.0.1的方法了。

以上就是如何從Android Studio中上傳我們的module,并如何通過依賴使用上傳的module了。

文章來源:http://blog.csdn.net/smartbetter/article/details/55116889

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

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,269評論 25 708
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,923評論 18 139
  • 家里來暖氣了 溫溫的 悄無聲息地來了 就好像冬天 不敲門就到了 那么好吧 你好 [玫瑰] 晚安 冬天[擁抱][擁抱...
    宏紅閱讀 90評論 0 0
  • 前言 在服務器之間傳輸文件有多種方法,比如scp,rz/sz,搭建ftp等等。 windows下感覺最方便的還是r...
    Songe_閱讀 15,250評論 2 5
  • 最好的情事 不一定是兩個人 相依相偎 才可以感到溫暖 或許是 桃花滿坡時 隨風走十里 平湖秋月時 一眼穿萬年 楊柳...
    靜軒茶香閱讀 168評論 2 7