作者?|?Mallaidh?Mleziva?
譯者?|?Arvin,責編?|?王曉曼?
頭圖?|?CSDN?下載自東方?IC?
出品?| CSDN(ID:CSDNnews)
【導讀】關于持續(xù)集成(CI)和持續(xù)交付(CD)的資源和信息有很多,但是你了解為什么我們需要CI和CD嗎?關于持續(xù)集成(CI)和持續(xù)交付(CD)的資源和信息有很多,包括定義、最佳實踐和操作指南。此外,每天都有大量的 CI /CD 工具上市。但是為什么我們需要 CI 和 CD?有很多定義在流傳,但這里的兩個定義抓住了這兩個過程的本質(zhì):“持續(xù)集成是一種開發(fā)實踐,要求開發(fā)人員每天多次將代碼集成到共享存儲庫中?!保▉碓矗篢houghtWorks)“持續(xù)交付是一種軟件工程方法,團隊可以在短時間內(nèi)生產(chǎn)軟件,確??梢栽谌魏螘r候可靠地發(fā)布軟件,并且在可以手動發(fā)布軟件。”(來源:維基百科)這聽起來不錯。但是你可能會問,“這有什么大不了的?” 要回答這個問題,我們需要想象一個沒有CI / CD的世界,看看為什么這么多人跳上CI / CD的列車。手動任務對于完成任務的人來說是乏味且令人沮喪的。這些任務減慢了交付過程,并最終阻礙了創(chuàng)新。如果競爭對手使用自動化而你沒有使用自動化,那么競爭對手就贏了。等待部署的代碼是不賺錢的。“錯誤發(fā)生在哪里?是什么原因造成的?每個環(huán)境中部署了什么?我們可以把程序回退嗎?”如果沒有CI / CD這些就是你每天都會問并且試圖回答的問題。沒有自動化就意味著用戶會出錯。每個手動任務都為錯誤打開了大門。這些錯誤經(jīng)常發(fā)生并且難以解決。另外,由于不經(jīng)常合并大量代碼,因此在漫長的開發(fā)周期結束時會發(fā)現(xiàn)錯誤,修復這些錯誤可能更具挑戰(zhàn)性,或者對難于排除故障的代碼庫中的其他部分產(chǎn)生影響。錯誤會導致軟件交付過程中涉及的個人和部門之間關系緊張。運維部門將糟糕的代碼歸咎于開發(fā)人員。開發(fā)人員對所有手動任務感到沮喪,并指責QA沒能捕獲錯誤。當客服人員必須解決最終用戶的不滿時,他們會責怪參與過程的每個人。最終,這個組織會缺乏協(xié)作和工作友誼。當今的商業(yè)世界需要以往任何時候都需要更快的創(chuàng)新。借助自動化,你可以更快地交付產(chǎn)品,并獲得最終用戶的反饋,因為需要完成的手動任務更少,你可以更頻繁地發(fā)布較小的更改來促進生產(chǎn)。CI / CD可以使你更好地參與市場競爭。使用CI / CD,測試和部署過程是透明的。任何問題都幾乎可以立即看到,并且可以迅速找到原因,從而減少了常規(guī)方式在確定原因時所涉及的猜測。由于漏洞易于跟蹤,因此人們要負起各自的責任。這并不意味著是時候進行互相指責了,而是說負責這部分代碼的人是解決問題的最佳人選。最終,正常運行的時間增加了。發(fā)生錯誤是很難避免的。現(xiàn)代軟件功能,項目和應用程序很復雜。一個版本有很多地方可能出錯。畢竟,每個開發(fā)人員都是人,都可能犯錯。持續(xù)集成消除了其中的一些復雜性,減少了問題所在的領域,并增加了成功的可能性。自動化對于減少人為錯誤是必不可少的。如果計算機可以執(zhí)行任務,請讓計算機執(zhí)行該任務。持續(xù)集成的兩個主要原則是頻繁運行代碼以及自動執(zhí)行軟件交付生命周期的構建和測試部分。每天多次運行代碼集成意味著可以更快地發(fā)現(xiàn)錯誤,因為需要做的挖掘工作更少就可以更快地糾正錯誤。開發(fā)人員的手工任務更少,這意味著出現(xiàn)人為錯誤的機會更少。運維會收到高質(zhì)量的代碼。QA需要解決的問題較少??蛻舴詹粫盏侥敲炊鄲廊说碾娮余]件和電話。每個人的工作都得到改善。如果將可重復和可預測的任務移交給自動化,則可以為開發(fā)人員騰出時間,這樣他們可以做自己喜歡的事情:開發(fā)。將平凡的重復性任務留給計算機(它們不介意)),讓你的開發(fā)人員做更有成就感和回報的高級工作!使用CI / CD,同樣數(shù)量的資源可以進一步分配。因此,在保持原始業(yè)務約束的同時,還可以完成更多工作。更快,更頻繁的發(fā)布和更少的錯誤會促使開發(fā)人員與其他業(yè)務部門之間建立起信任,按時完成任務,獲得可靠的結果,可以使最終用戶更加滿意。CI / CD是雙贏的。如果沒有CI / CD,交付緩慢,缺乏可見性,錯誤頻繁發(fā)生,最終用戶會感到不滿意。但是,有了CI / CD和自動化,更頻繁的集成,更好的可見性,更友好的協(xié)作和更容易定位錯誤的解決方案,所有這些問題就消除了。難怪越來越多的企業(yè)正在朝著敏捷方法論和自動化流程邁進!https://dzone.com/articles/why-the-world-needs-cicd本文為 CSDN 翻譯,轉(zhuǎn)載請注明來源出處。本公眾號全部博文已整理成一個目錄,請在公眾號后臺回復「m」獲??!