使用Nexus在本地搭建npm、yum和maven私有倉庫
為保證在無互聯(lián)網(wǎng)的情況下,可正常搭建、構(gòu)建項(xiàng)目,并自動(dòng)化部署項(xiàng)目,本系統(tǒng)采用Nexus+Jenkins+Maven+Gitlab開源組件,實(shí)現(xiàn)集成環(huán)境部署。
(1) 使用Nexus在本地搭建npm、yum和maven私有倉庫,Nexus是一個(gè)很強(qiáng)大的私服軟件,不僅僅是作為Java的Maven打包使用,同樣的也支持pypi、yum源、apt源、npm等等,私服的概念就是在本地架設(shè)一個(gè)中央倉庫,在這個(gè)中央倉庫上配置遠(yuǎn)程服務(wù)器源,當(dāng)我們客戶端需要某些包時(shí),如果本地Nexus中央倉庫沒有這個(gè)包,就去遠(yuǎn)程服務(wù)器源中下載,下載成功后,這個(gè)包會(huì)保存在中央倉庫中,下次再使用這個(gè)包時(shí),直接從Nexus中央倉庫獲取,就無需從遠(yuǎn)程服務(wù)器下載了。
(2) Jenkins是實(shí)現(xiàn)代碼自動(dòng)化流程上線的工具,Jenkins是一個(gè)獨(dú)立的開源軟件項(xiàng)目,是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作,旨在提供一個(gè)開放易用的軟件平臺(tái),使軟件的持續(xù)集成變成可能。
系統(tǒng)集成部署流程圖
開發(fā)人員在搭建開發(fā)環(huán)境時(shí),可選擇從本地Nexus服務(wù)器下載jar包,并使用Maven構(gòu)建項(xiàng)目,版本控制工具使用Gitlab管理,開發(fā)人員開發(fā)完一個(gè)功能后,提交代碼至Gitlab,此時(shí)測試人員收到通知,對(duì)開發(fā)人員提交的代碼進(jìn)行測試,測試完成后,自動(dòng)觸發(fā)Jekins進(jìn)行代碼的自動(dòng)編譯、測試,并構(gòu)建Docker鏡像,將構(gòu)建后的Docker鏡像下載至應(yīng)用服務(wù)器,遠(yuǎn)程調(diào)用腳本,重啟應(yīng)用服務(wù)器。