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