那些不加班的開發(fā)團(tuán)隊(duì),都看透了持續(xù)集成的四大好處

Martin Fowler 和 Kent Beck 首次提出 Continuous Integration (簡(jiǎn)稱CI):

持續(xù)集成是一種軟件開發(fā)實(shí)踐:許多團(tuán)隊(duì)頻繁地集成他們的工作,每位成員通常進(jìn)行日常集成,進(jìn)而每天會(huì)有多種集成。每個(gè)集成會(huì)由自動(dòng)的構(gòu)建(包括測(cè)試)來(lái)盡可能快地檢測(cè)錯(cuò)誤。許多團(tuán)隊(duì)發(fā)現(xiàn)這種方法可以顯著的減少集成問(wèn)題并且可以使團(tuán)隊(duì)開發(fā)更加快捷。

持續(xù)集成,讓很多開發(fā)團(tuán)隊(duì)又 「 愛 」 又 「 恨 」 。愛,在于整個(gè)流程對(duì)項(xiàng)目的交付價(jià)值大有裨益,盡最大可能地減少不必要的加班;恨,在于成本過(guò)大,部署的困難、工程文化的隔閡。


flow.ci

無(wú)論你是堅(jiān)定的持續(xù)集成擁護(hù)者,中立派,甚至是 CI 反對(duì)者,作為一個(gè)高效的開發(fā)工具,持續(xù)集成是一個(gè)非常重要特殊的存在。通過(guò)這篇文章,我們來(lái)看看持續(xù)集成的好處有哪些。

“盡早暴露問(wèn)題,把握開發(fā)節(jié)奏”

在團(tuán)隊(duì)開發(fā)中,問(wèn)題暴露的越早,修復(fù)代碼的成本越低,成功部署的勝算就越大。持續(xù)集成高頻率地編譯、測(cè)試、審查、部署項(xiàng)目代碼,這其中代碼集成是主要的風(fēng)險(xiǎn)來(lái)源。要想規(guī)避這個(gè)風(fēng)險(xiǎn),只有提早集成,持續(xù)而有規(guī)律的集成,以此來(lái)確保當(dāng)前代碼庫(kù)的質(zhì)量,把握開發(fā)的進(jìn)程和節(jié)奏。

當(dāng)然發(fā)現(xiàn)問(wèn)題代碼,也不要一味地墜入快速的簡(jiǎn)單修復(fù)之中,要投入時(shí)間和精力保持代碼的整潔、敞亮。

很明顯的一點(diǎn),使用持續(xù)集成后,程序員們提交代碼也會(huì)變得更加小心謹(jǐn)慎。想想應(yīng)該沒(méi)人樂(lè)意讓其他同事不停地見到自己的分支上 CI 失敗的通知郵件吧:)

“避免重復(fù)操作,讓流程自動(dòng)化”

工具環(huán)境的滯后,加上工作的重復(fù)枯燥,讓開發(fā)者對(duì)寫程序失去新鮮感。

在持續(xù)集成過(guò)程,一步一步的編譯、測(cè)試、審查、部署,牽扯大量重復(fù)的工作。搭建持續(xù)集成環(huán)境,可以讓開發(fā)人員不再需要手動(dòng)地 checkout 代碼,節(jié)省大量的時(shí)間和避免不必要的壓力,把精力放在更多有價(jià)值的事情上,這樣也可以形成良性的循環(huán)。

flow.ci 是融入了 workflow 機(jī)制的持續(xù)集成(CI)服務(wù),也可以理解為自動(dòng)化流程平臺(tái),除了集成代碼、編譯、測(cè)試之外,還可以集成常用的工具、靈活自定義流程。工程師只需要專注寫代碼,其他的 build, test, deploy 都可以交給 flow.ci 來(lái)完成。一切運(yùn)轉(zhuǎn)起來(lái)只需要1分鐘!

flow.ci

“保持隨時(shí)部署,簡(jiǎn)化發(fā)布流程”

每日高頻率的集成保證了項(xiàng)目隨時(shí)處于可部署運(yùn)行的狀態(tài),如果沒(méi)有持續(xù)集成,項(xiàng)目發(fā)布之前將不得不手動(dòng)地集成,然后花費(fèi)大量精力修復(fù)集成問(wèn)題,弄的團(tuán)隊(duì)成員疲憊不堪。

使用持續(xù)集成,幫助我們跨越頻繁部署的障礙。大家都知道,只有保持頻繁部署,讓用戶看到產(chǎn)品的新特性, 才能不斷地磨合優(yōu)化構(gòu)建和發(fā)布流程,讓反饋周期更短更有效。

flow.ci 包含各種代碼質(zhì)量檢測(cè)分析和生成報(bào)告的插件,可以輕松地查看項(xiàng)目的測(cè)試結(jié)果。

“增強(qiáng)團(tuán)隊(duì)信心,建立工程師文化”

無(wú)論什么樣的工程師,都會(huì)對(duì)存在大量 bug 的代碼產(chǎn)生恐懼心理,這就是心理學(xué)上的的 Broken Windows 綜合癥(Broken Windows syndrome)。CI 可以有效防止破窗綜合癥,讓開發(fā)團(tuán)隊(duì)一點(diǎn)點(diǎn)積累起對(duì)產(chǎn)品的信心,對(duì)使用技術(shù)的保持成就感。

與此同時(shí),持續(xù)集成讓每個(gè)人都能看到良好的界面和視圖來(lái)了解項(xiàng)目的成熟度,讓所有人都知道正在發(fā)生什么。也許更容易增強(qiáng)開發(fā)信心,培養(yǎng)團(tuán)隊(duì)良好的工程文化,齊心協(xié)力向目標(biāo)前進(jìn)。

除了上面我們所總結(jié)的 CI 的好處,APIUMTECH 的在Top benefits of continuous integration文章中有一張圖說(shuō)非常全面,分享給大家:

flow.ci

作為編碼規(guī)范的度量尺、代碼質(zhì)量的把關(guān)者、項(xiàng)目健康的測(cè)量?jī)x,CI 可以做的事情還有很多。歡迎分享你的觀點(diǎn)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容