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

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

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

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

這種方法看似沒有問題,但其實非常危險。可能不久的將來會導致嚴重的產品缺陷,從而嚴重影響業(yè)務運作。這種影響是不可預知的,一開始是金錢的損失,直至影響到企業(yè)聲譽,最后可能直接導致整個業(yè)務完全失敗。

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

1. CI 服務的錯誤選擇

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

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

推薦解決方案:

  • 仔細調研市場并通過實驗權衡各種需求,Slant上已經對主流的各種CI產品進行了很詳細的優(yōu)劣評估,可參考一下;

  • 關注特性,例如管道支持,容器支持,平臺支持,易用型,可用性等等;

  • 網友評論