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