使用Nexus搭建maven私有倉庫

automate your Software Supply Chain.png

Nexus 官網(wǎng):http://www.sonatype.com/

前言

什么是maven履植、gradle

Maven是一個(gè)項(xiàng)目管理和自動構(gòu)建工具计雌。

Gradle是一個(gè)基于Apache AntApache Maven概念的項(xiàng)目自動化建構(gòu)工具悄晃。它使用一種基于Groovy的特定領(lǐng)域語言來聲明項(xiàng)目設(shè)置玫霎,而不是傳統(tǒng)的XML。

為什么搭建maven私有倉庫

做java開發(fā)的童鞋對Maven一定不陌生妈橄;做android開發(fā)的童鞋庶近,用得最多的是gradle。其實(shí)gradle的第三方庫眷蚓,也是放在maven倉庫上鼻种。

對于第三方庫,大家基本都配置maven沙热、gradle從遠(yuǎn)程獲取叉钥,估計(jì)很少直接下載jar放在工程里(對于沒有放在maven repository上的庫罢缸,只能這么干)。這么做方便管理依賴投队。

app開發(fā)中遇到問題

做app開發(fā)枫疆,特別是只有幾萬行代碼量的小項(xiàng)目,開發(fā)團(tuán)隊(duì)也就幾個(gè)人敷鸦,通常只用一個(gè)工程玩耍息楔。隨著業(yè)務(wù)擴(kuò)展,工程變得越來越大扒披,代碼量大大增加值依,開發(fā)人數(shù)也多了,問題開始暴漏:改動一個(gè)地方往往影響到其他人的代碼碟案,功能模塊耦合嚴(yán)重愿险,構(gòu)建速度慢....

業(yè)界一些解決方法:1.組件化,按功能拆分出各種組件蟆淀,數(shù)據(jù)存儲拯啦、網(wǎng)絡(luò)層、日志 等熔任;2.拆分業(yè)務(wù)褒链,一個(gè)業(yè)務(wù)一個(gè)module;3.業(yè)務(wù)插件化疑苔,一個(gè)業(yè)務(wù)一個(gè)工程甫匹,每個(gè)業(yè)務(wù)獨(dú)立編譯并運(yùn)行.....

因此,引入依賴管理是必不可少的惦费。把各個(gè)模塊單獨(dú)編譯兵迅,部署上maven倉庫,主工程or業(yè)務(wù)工程通過maven薪贫、gradle引用這些依賴恍箭。這么做還有好處,就是持續(xù)集成瞧省!某個(gè)模塊修改了扯夭,跑單元測試,通過后才放上倉庫鞍匾。業(yè)務(wù)工程同步一下maven交洗,萬一有問題,還可以在服務(wù)端回滾到上一個(gè)版本橡淑。

(筆者對持續(xù)集成怕有誤构拳,關(guān)于持續(xù)集成可以參考這篇文章《談?wù)劤掷m(xù)集成,持續(xù)交付,持續(xù)部署之間的區(qū)別》

  • 單獨(dú)編譯置森、單獨(dú)部署
  • 靈活管理依賴
  • 便于持續(xù)集成
Edwards Deming,Our Hero and Inspiration.png

搭建

官方文檔 Installing and Running

安裝Java Envirment

由于Nexus不支持OpenJDK斗埂,所以必須卸裝OpenJDK并安裝Oracle Java。參考 如何在Ubuntu Linux上安裝Oracle Java (可能要翻墻)

下載Nexus Repository OSS

下載地址: http://www.sonatype.com/download-oss-sonatype

筆者系統(tǒng)環(huán)境是ubuntu16.04(在windows上vmware虛擬)凫海,所以下載了Unix nexus-3.0.1版本蜜笤。例如下載到$HOME下,然后解壓壓縮包:

$ tar xvzf nexus-3.0.1-01-unix.tar.gz

啟動Nexus

進(jìn)入nexus根目錄下的bin:

cd ./nexus-3.0.1-01/bin

運(yùn)行Nexus:

sudo ./nexus run

運(yùn)行成功后盐碱,會出現(xiàn)

Started Sonatype Nexus OSS 3.0.1-01

nexus_run

訪問nexus UI界面

在ubuntu打開瀏覽器把兔,輸入http://localhost:8081/

當(dāng)然,只要知道ubuntu虛擬機(jī)內(nèi)網(wǎng)ip瓮顽,也可以在windows通過內(nèi)網(wǎng)ip訪問nexus


配置為Linux Service

編輯.bashrc文件(通常在用戶根目錄):

gedit .bashrc

配置$NEXUS_HOME為nexus絕對路徑县好,在文件末尾加入:

NEXUS_HOME="/home/{user}/nexus-3.0.1-01"

編輯bin/nexus.rc

run_as_user="nexus"

/etc/init.d放nexus軟連接

sudo ln -s $NEXUS_HOME/bin/nexus /etc/init.d/nexus

運(yùn)行服務(wù)

update-rc.d.

cd /etc/init.d
sudo update-rc.d nexus defaults
sudo service nexus start

官網(wǎng)有chkconfigupdate-rc.d暖混、systemd三種方式缕贡,筆者選擇最簡單的update-rc.d

(開啟ubuntu第一次執(zhí)行start拣播,可能要等上幾十秒才能啟動)


用戶操作界面

登陸

假設(shè)ubuntu ip地址是192.168.86.130晾咪,瀏覽http://192.168.86.130:8081/打開用戶界面(前面已提到)。點(diǎn)擊右上角Sign in登陸贮配,默認(rèn)賬號admin谍倦,密碼admin123

sign in

登陸后:


創(chuàng)建用戶

在配置頁面,選擇Security - User泪勒,點(diǎn)擊create user

create user.png

填寫用戶信息昼蛀,再點(diǎn)擊最底下的create user即可創(chuàng)建用戶

user info

創(chuàng)建xiaoming用戶后,可以Sign out圆存,用xiaoming賬號登陸了叼旋。

創(chuàng)建maven倉庫

在配置界面,選擇Repository - repositories沦辙,圖中紅色選線框著的是默認(rèn)倉庫夫植。點(diǎn)擊create repository

repositories
create repository

這里簡單介紹下幾種repository的類型:

  • hosted,本地倉庫油讯,通常我們會部署自己的構(gòu)件到這一類型的倉庫详民。比如公司的第二方庫。
  • proxy撞羽,代理倉庫阐斜,它們被用來代理遠(yuǎn)程的公共倉庫衫冻,如maven中央倉庫诀紊。
  • group,倉庫組,用來合并多個(gè)hosted/proxy倉庫邻奠,當(dāng)你的項(xiàng)目希望在多個(gè)repository使用資源時(shí)就不需要多次引用了笤喳,只需要引用一個(gè)group即可。

我們的目的僅僅管理自己開發(fā)的組件碌宴,選擇host即可杀狡。

填寫倉庫配置

version policy,可以選Release或Snapshot贰镣,如果倉庫開放給所有人呜象,那選Release比較好,如果公司內(nèi)部或自己用碑隆,其中一個(gè)就可以恭陡。

倉庫xiaoming-host創(chuàng)建完畢

xiaoming-host

查看倉庫的項(xiàng)目

如果上傳了項(xiàng)目,在Nexus用戶界面上煤,選擇components -> xiaoming-host

deploy success

小結(jié)

google一下“Nexus搭建”休玩,很多文章都是基于2.x版本,3.x安裝教程相對少一些劫狠,筆者因?yàn)檎也坏胶芎玫奈恼滤┌蹋艣Q定自己寫一篇。官方文檔還是挺容易理解的独泞,步驟也很清晰呐矾,建議大家在搭建過程不懂時(shí),查閱官方文檔懦砂。

官方文檔《Installing and Running with the Distribution Archive》


相關(guān)閱讀

《InteliJ上傳Java項(xiàng)目到Maven倉庫》
《Android Studio上傳項(xiàng)目到Maven倉庫》
《發(fā)布Android Library到Bintray凫佛、JCenter》

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市孕惜,隨后出現(xiàn)的幾起案子愧薛,更是在濱河造成了極大的恐慌,老刑警劉巖衫画,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件毫炉,死亡現(xiàn)場離奇詭異,居然都是意外死亡削罩,警方通過查閱死者的電腦和手機(jī)瞄勾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來弥激,“玉大人进陡,你說我怎么就攤上這事∥⒎” “怎么了趾疚?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我糙麦,道長辛孵,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任赡磅,我火速辦了婚禮魄缚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘焚廊。我一直安慰自己冶匹,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布咆瘟。 她就那樣靜靜地躺著徙硅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪搞疗。 梳的紋絲不亂的頭發(fā)上嗓蘑,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天,我揣著相機(jī)與錄音匿乃,去河邊找鬼桩皿。 笑死,一個(gè)胖子當(dāng)著我的面吹牛幢炸,可吹牛的內(nèi)容都是我干的泄隔。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼宛徊,長吁一口氣:“原來是場噩夢啊……” “哼佛嬉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起闸天,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤暖呕,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡饵婆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了库物。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,030評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡贷帮,死狀恐怖戚揭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情撵枢,我是刑警寧澤民晒,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布精居,位于F島的核電站,受9級特大地震影響镀虐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜沟绪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一刮便、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧绽慈,春花似錦恨旱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至钝凶,卻和暖如春仪芒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背耕陷。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工掂名, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人哟沫。 一個(gè)月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓饺蔑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親嗜诀。 傳聞我的和親對象是個(gè)殘疾皇子猾警,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 為什么要搭建私有倉庫? 避免所有人都從Maven中央倉庫重復(fù)下載所需構(gòu)件隆敢,節(jié)省外網(wǎng)帶寬发皿。 當(dāng)項(xiàng)目開發(fā)在內(nèi)網(wǎng)環(huán)境下進(jìn)...
    深海同志草田葦閱讀 2,616評論 0 1
  • 如需轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/u011974987/article/details...
    Xiho丶閱讀 3,097評論 1 6
  • Nexus是Maven倉庫管理器,管理開發(fā)所需要的構(gòu)件拂蝎。如果你每次都是從Apache提供的Maven中央倉庫去下載...
    點(diǎn)融黑幫閱讀 3,815評論 0 6
  • 控制情緒工具 我們都知道該控制情緒雳窟,對孩子應(yīng)該和善,可是拖著一天工作疲憊的身體回到家匣屡,看到滿地都是亂糟糟的玩具封救,心...
    傅媽明珠閱讀 307評論 0 0
  • 女孩女生女人 角色的轉(zhuǎn)變很突然 愛人的能力一直都在 五月二十自個(gè)好好愛自己 女人偉大也強(qiáng)大有她才是家
    9ecab3dc9cf0閱讀 235評論 0 0