本文翻譯自文章 Top 5 Reasons for CI Failure,主要介紹了 CI 失敗的五個(gè)原因,包括 CI 服務(wù)的錯(cuò)誤選擇、CI 工程師的不專(zhuān)業(yè)性、隨意更改CI服務(wù)器配置、CI服務(wù)器性能差、缺乏管理等。由 flow.ci-Meng 編譯整理。
_____

敏捷開(kāi)發(fā)不可能完美,必須有 CI 實(shí)踐的助力。CI 是持續(xù)進(jìn)行分析、構(gòu)建、測(cè)試和部署的自動(dòng)化流程,在正式發(fā)布到生產(chǎn)環(huán)境之前,CI 會(huì)檢查代碼質(zhì)量和測(cè)試產(chǎn)品的業(yè)務(wù)邏輯。

理想情況下,在構(gòu)建失敗時(shí)不能讓項(xiàng)目或軟件部署到生產(chǎn)環(huán)境。但是,持續(xù)集成的理念并不被每一個(gè)敏捷團(tuán)隊(duì)適用。一些敏捷團(tuán)隊(duì)非常重視 CI 實(shí)踐,有的只是為了做敏捷而做,而有些團(tuán)隊(duì)完全忽視CI,更有甚者從未配置過(guò) CI 服務(wù)器。

在團(tuán)隊(duì)中導(dǎo)致CI實(shí)踐被忽視有各種原因。 我們都知道企業(yè)具有不同的優(yōu)先級(jí),產(chǎn)品經(jīng)理可能并不理解內(nèi)部質(zhì)量、測(cè)試流程和完整構(gòu)建的重要性。 技術(shù)經(jīng)理不能分配時(shí)間來(lái)實(shí)施 CI 實(shí)踐或修復(fù)出現(xiàn)問(wèn)題的 CI 系統(tǒng)。 產(chǎn)品和技術(shù)經(jīng)理無(wú)法了解彼此的優(yōu)先級(jí),導(dǎo)致部署了一個(gè)失敗的產(chǎn)品交付給終端用戶(hù),并傳遞了一個(gè)非常糟糕的商業(yè)價(jià)值。

這種方法看似沒(méi)有問(wèn)題,但其實(shí)非常危險(xiǎn)??赡懿痪玫膶?lái)會(huì)導(dǎo)致嚴(yán)重的產(chǎn)品缺陷,從而嚴(yán)重影響業(yè)務(wù)運(yùn)作。這種影響是不可預(yù)知的,一開(kāi)始是金錢(qián)的損失,直至影響到企業(yè)聲譽(yù),最后可能直接導(dǎo)致整個(gè)業(yè)務(wù)完全失敗。

然而,即使產(chǎn)品經(jīng)理和技術(shù)團(tuán)隊(duì)同意投入更多的時(shí)間和金錢(qián)實(shí)施或修復(fù) CI 問(wèn)題,一些團(tuán)隊(duì)仍未成功。 這篇文章我們討論了 CI 失敗的五大原因,并提供一些潛在解決方案,希望能夠幫助你。

1. CI 服務(wù)的錯(cuò)誤選擇

市場(chǎng)上有各種持續(xù)集成工具,CI 服務(wù)器解決方案可以是本地搭建也可以云端托管。這里列出了一堆的CI服務(wù)器解決方案

Jenkins 是目前流行的 CI 服務(wù)器之一,大家都傾向于盲目使用它。為了使用 Jenkins 的服務(wù),我們不得不調(diào)整項(xiàng)目?,F(xiàn)在,市場(chǎng)上出現(xiàn)了一些不錯(cuò)的CI服務(wù)(國(guó)內(nèi)如 flow.ci),選擇適合自己適合需求的CI服務(wù)確實(shí)是一個(gè)挑戰(zhàn)。

推薦解決方案: