豬八戒網(wǎng)CI/CD最佳實(shí)踐之路





Nodejs:負(fù)責(zé)前端
Java:負(fù)責(zé)后端
PHP:負(fù)責(zé)老項(xiàng)目維護(hù)




公交車模式(本圖由DevOps團(tuán)隊(duì)提供)
項(xiàng)目耦合度太高,容易導(dǎo)致合并沖突,環(huán)境沖突等。
集成過程中未對(duì)代碼進(jìn)行審查,錯(cuò)誤代碼發(fā)布到測(cè)試環(huán)境后,會(huì)影響依賴方的測(cè)試。
發(fā)布受限制,必須在專門時(shí)間由專人發(fā)布。
發(fā)布異常時(shí),回滾工作異常艱難。







通過用Jira需求上線流程和流水線做整合,以及多種推送前的校驗(yàn),保證了上線過程的每一步都是可靠的
每一個(gè)環(huán)境的集成和發(fā)布都是自動(dòng)化的
因?yàn)檫^程變得可靠且自動(dòng)化,使得將發(fā)布過程開放給研發(fā)團(tuán)隊(duì)成為了可能,達(dá)到了隨時(shí)自主上線的目的。
不夠靈活,如在推送測(cè)試環(huán)境時(shí),整個(gè)過程執(zhí)行的步驟是固定的的,即第一步做什么,第二步做什么都是固定的,不能新增也不能刪減,如某些團(tuán)隊(duì)需要進(jìn)行單元測(cè)試,有的不需要,但流水線都會(huì)去執(zhí)行單元測(cè)試,通常情況下單元測(cè)試過程是一個(gè)花費(fèi)時(shí)間比較長(zhǎng)的過程,這對(duì)于需要頻繁更改和部署的業(yè)務(wù)是不友好的。
推送成功率不高,因?yàn)檎麄€(gè)過程是串聯(lián)的,某一個(gè)環(huán)節(jié)出現(xiàn)錯(cuò)誤,將會(huì)導(dǎo)致本次推送失敗,而某些環(huán)節(jié)本不應(yīng)該影響構(gòu)建結(jié)果的,最后導(dǎo)致了構(gòu)建失敗。
















CI/CD應(yīng)該是以提高研發(fā)效率為目標(biāo)的實(shí)踐,一切脫離這個(gè)目標(biāo)只是為了迎合什么口號(hào)而做什么的是都是耍牛氓。而實(shí)現(xiàn)這個(gè)目標(biāo)是一個(gè)比較漫長(zhǎng)的過程,一開始會(huì)比較容易,后面就會(huì)越來越難,這需要不斷思考和學(xué)習(xí)的過程。
CI/CD應(yīng)該是緊貼業(yè)務(wù)的,因?yàn)闃I(yè)務(wù)的不同,要求的技術(shù)架構(gòu)也會(huì)有所不同,隨之而來,要求的交付方式也會(huì)有所不同。
CI/CD應(yīng)該是以人為本的,我們應(yīng)該盡可能地將一切繁瑣的過程交給程序去執(zhí)行,而人只需要“坐享其成”或者做少量的決策即可。
推薦閱讀:
世界的真實(shí)格局分析,地球人類社會(huì)底層運(yùn)行原理
不是你需要中臺(tái),而是一名合格的架構(gòu)師(附各大廠中臺(tái)建設(shè)PPT)
企業(yè)IT技術(shù)架構(gòu)規(guī)劃方案
論數(shù)字化轉(zhuǎn)型——轉(zhuǎn)什么,如何轉(zhuǎn)?
企業(yè)10大管理流程圖,數(shù)字化轉(zhuǎn)型從業(yè)者必備!
【中臺(tái)實(shí)踐】華為大數(shù)據(jù)中臺(tái)架構(gòu)分享.pdf
華為如何實(shí)施數(shù)字化轉(zhuǎn)型(附PPT)
超詳細(xì)280頁(yè)Docker實(shí)戰(zhàn)文檔!開放下載
