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

現(xiàn)在AndroidStudio使用Gradle作為依賴管理工具,

可以說是Android目前最好的依賴管理工具,我們經(jīng)常通過在build.gradle通過簡單的依賴配置就可以使用某個開源項目了,例如okhttp、retrofit,但是如果公司把自己的核心庫往jcenter上傳又是不太可能的,基于這個問題,今天給大家?guī)砹吮酒恼拢趶?qiáng)大的Linux平臺,使用 Nexus3.x 為 Android 搭建私服,為公司構(gòu)建自己的本地內(nèi)部倉庫。

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

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

Nexus極大地簡化了本地內(nèi)部倉庫的維護(hù)和外部倉庫的訪問。另外,Nexus還可以在代理遠(yuǎn)程倉庫的同時維護(hù)本地倉庫,以降低中央倉庫的負(fù)荷,節(jié)省外網(wǎng)帶寬和時間。

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

1)從底層重構(gòu),從而提高性能,增強(qiáng)擴(kuò)展能力,并改善用戶體驗(yàn)

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

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

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

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

注意:3.x版本只能運(yùn)行在JVM8及以上

總之,本地內(nèi)部倉庫在本地構(gòu)建nexus私服的好處有:

1)加速構(gòu)建、穩(wěn)定;

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

3)控制和審計;

4)能夠部署第三方構(gòu)件;

5)可以建立本地內(nèi)部倉庫、可以建立公共倉庫

這些優(yōu)點(diǎn)使得Nexus日趨成為最流行的Maven倉庫管理器。

2.Linux平臺遠(yuǎn)程shell安裝Nexus

這里L(fēng)inux選用CentOS7.2。

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

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

3)上傳服務(wù)器Nexus安裝包,服務(wù)器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

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

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

4)啟動Nexus(默認(rèn)端口是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

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

下面用其他計算機(jī)訪問Linux服務(wù)器:192.168.2.20:8081

出現(xiàn)上述頁面,說明配置nexus成功!

3.創(chuàng)建自己的Android代碼倉庫

點(diǎn)擊Nexus“Log in”,

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

可以點(diǎn)擊上面的“設(shè)置”圖標(biāo),在“設(shè)置”里可以添加用戶、角色,對接LDAP等的設(shè)置,如下:

這里我們創(chuàng)建用戶user:

創(chuàng)建完成后退出admin,登錄user。

我們點(diǎn)擊Repository下Repositories創(chuàng)建android用戶的倉庫:

然后這里填寫相關(guān)信息,創(chuàng)建倉庫android:

我們來看一下創(chuàng)建的倉庫:

到此我們自己的倉庫創(chuàng)建成功。

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

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

這個module也就是我們準(zhǔn)備上傳的module。

1.上傳module:

1)配置Project的build.gradle:

allprojects {? ??

? ? ? ? ? ? repositories {

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

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

? ? ? ? ? ?}

}

路徑地址如下copy:

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

等待module的上傳:

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

ok,到此module上傳成功。

2.引用已經(jīng)上傳的module:

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

buildscript {...}

allprojects {? ??

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

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

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

? ? ? ? ? }

}

路徑地址如下copy:

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

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

compile'net.smartbetter:utilslibrary:0.0.1'

我們看一下External Libraries:

發(fā)現(xiàn)已經(jīng)存在utilslibrary-0.0.1了,這時我們就就可以在我們的工程項目中調(diào)用utilslibrary-0.0.1的方法了。

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

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

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

友情鏈接更多精彩內(nèi)容