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

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

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

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

這種方法看似沒有問題,但其實非常危險??赡懿痪玫膶頃е聡乐氐漠a(chǎn)品缺陷,從而嚴重影響業(yè)務(wù)運作。這種影響是不可預知的,一開始是金錢的損失,直至影響到企業(yè)聲譽,最后可能直接導致整個業(yè)務(wù)完全失敗。

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

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

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

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

推薦解決方案: