輕量級(jí)CI/CD發(fā)布部署環(huán)境搭建及使用_01_基本介紹

授人以魚不如授人以漁,如果說的別人都沒明白,說明自己實(shí)際也不是太明白

 

最終實(shí)現(xiàn)效果如圖

1,選擇相應(yīng)環(huán)境下的項(xiàng)目,執(zhí)行構(gòu)建

注:

web:vue項(xiàng)目

server:java項(xiàng)目

2,pipeline執(zhí)行的每一步驟及時(shí)間

 

1,適用類型:中小型公司,項(xiàng)目較多,經(jīng)實(shí)際操作,交錯(cuò)發(fā)布可支持5個(gè)以上項(xiàng)目自動(dòng)化部署及發(fā)布,目前用于發(fā)布的項(xiàng)目?jī)H以下
后端:java
前端:vue
2,所需了解和掌握基礎(chǔ)技能:docker、linux基本命令
3,涉及相關(guān):portaine(用于images、containers管理)r、docke(虛擬化)r、dockerfile(構(gòu)建腳本)、jenkins、pipeline腳本、git命令、maven私服、harbor私有鏡像庫(kù)、nginx配置、nodejs配置、jdk配置、jenkins權(quán)限插件配置等
4,教程中版本不一可能會(huì)導(dǎo)致不可預(yù)知的問題,請(qǐng)保持版本一致實(shí)驗(yàn)
部署架構(gòu)圖如下(如有錯(cuò)誤,請(qǐng)及時(shí)指出)
 
圖例步驟解釋:
1,選擇發(fā)布的環(huán)境:dev為branch,test、pre、prod為tag
2,jenkins中pipeline腳本拉取git倉(cāng)庫(kù)中的代碼
3,拉取代碼后,pipeline腳本會(huì)執(zhí)行預(yù)先設(shè)定的編譯腳本,后端為maven編譯,前端vue以npm/cnpm build編譯打包
4,編譯好后pipeline腳本執(zhí)行構(gòu)建docker鏡像,并push到harbor當(dāng)中
5,pipeline腳本執(zhí)行拉取鏡像腳本,從harbor拉取鏡像,并發(fā)布到指定環(huán)境的服務(wù)器中并啟動(dòng)
至此,整個(gè)發(fā)布、部署環(huán)境完成
可解決的問題:
1,中小型公司發(fā)布、部署人員、時(shí)間成本問題
2,生產(chǎn)環(huán)境網(wǎng)絡(luò)隔絕(無外網(wǎng)),可使用離線docker+提前構(gòu)建完成的鏡像安裝并發(fā)布、部署
缺點(diǎn):
1,構(gòu)建的鏡像較大500M~1G,(當(dāng)今硬件資源成本已降,所以此條缺點(diǎn)可忽略)
2,如前端項(xiàng)目中某些參數(shù)配置錯(cuò)誤、后端服務(wù)某些配置項(xiàng)配置錯(cuò)誤,(此類錯(cuò)誤:構(gòu)建生產(chǎn)鏡像時(shí),沒有使用生產(chǎn)的相關(guān)配置),需重新構(gòu)建鏡像,較耗時(shí)
 
至此,輕量級(jí)CI/CD發(fā)布部署環(huán)境搭建及使用_01_基本介紹,完結(jié)
編寫不易,如需轉(zhuǎn)載,請(qǐng)注明出處