本文翻譯自文章 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)。
推薦解決方案:
仔細調(diào)研市場并通過實驗權(quán)衡各種需求,Slant上已經(jīng)對主流的各種CI產(chǎn)品進行了很詳細的優(yōu)劣評估,可參考一下;
關(guān)注特性,例如管道支持,容器支持,平臺支持,易用型,可用性等等;
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26