目錄
什么是 CI/CD?
CI/CD 對業務有哪些好處?
一:確保卓越的代碼質量
二:更快的發布速度 → 更快的交付
三:自動化降低成本
四:故障隔離
五:簡化回滾
六:持續反饋
七:最佳透明度和問責制
八:提高 MTTR(平均修復時間)
九:監控指標數據
十:減少 Backlog 中的非重要缺陷
本文來源:about.gitlab.com
作者:Valerie Silverthorne
譯者:極狐(GitLab) 市場部內容團隊
數字時代,幾乎每家公司都涉及軟件業務。競爭對手、客戶、投資人及員工都要求更快速地更新軟件。因此,越來越多的企業擁抱現實,并為實現更高效的持續集成和交付上投入更多。
以下 10 個理由進一步闡述了為何企業需要 CI/CD。
什么是 CI/CD?
CI/CD 包括了CI(Continuous Integration,持續集成)和 CD(Continous Delivery,持續交付)兩步流程,通過使用自動化力量大大簡化代碼研發和交付流程。
-
CI 使代碼集成和版本控制等研發任務更加高效,從而讓軟件更快上線,投入生產;
-
CD 使軟件測試和部署自動化。
簡而言之,CI/CD 共同構成了現代軟件開發的強大引擎,讓企業獲益良多。
CI/CD 對業務有哪些好處?
以下是企業采用 CI/CD 的十大理由:
一:確保卓越的代碼質量
在 GitLab 2021 年全球 DevSecOps 調研報告中,受訪者表示實踐 DevOps 的原因之一是提升代碼質量,即團隊需要 DevOps 功能之一是 CI/CD。因為 CI/CD 流水線提供測試自動化,研發幾乎可以實時了解代碼問題。“快速失敗” 理念意味著團隊不會在錯誤代碼上浪費時間或資源;并且研發人員在轉戰其他項目時,也不會被無休止的 “修復” 請求所困擾。
節約時間、節約金錢,而且研發人員也不需要頻繁進行上下文切換,換來的是 win-win!
二:更快的發布速度 → 更快的交付
對 CI/CD 收益持懷疑態度的人,請聽全球金融巨頭高盛公司的故事:高盛的技術部門從雙周構建一次,演變到了每天構建 1000 次以上。
當討論加速軟件發布頻率時,統一的 CI/CD 流水線像一個渦輪發動機。代碼發布越快,就可以開發更多新代碼,然后發布,以此往復。業務底線是:當成功的 CI/CD 流水線發揮作用時,昂貴的開發人員資源不會被閑置。
三:自動化降低成本
無需人工干預軟件研發過程,則可以節省時間和金錢。這也就是為什么自動化是成功實踐 DevOps 的基礎。?
CI/CD 自動化了源代碼管理、版本控制、部署機制,還有很多測試工作。其中,測試可以說是最重要的。在 GitLab 2021 年的調研中,測試被認為是發版延遲的罪魁禍首。
發版延遲不僅會從成本、品牌、公共關系甚至聲譽的角度影響企業,對于依賴快速上市時間的企業來說也是致命的。歷史上,軟件測試都是手動的,且非常耗時,這也是為什么企業通常一年或半年發版一次。在現如今,企業可以隨時發布,而自動化軟件測試是實現這一切的關鍵。
四:故障隔離
在 DevOps 和 CI/CD 獲得關注之前,研發團隊可能知道代碼中存在問題,但卻苦于得知問題的準確位置。
CI/CD 及自動化測試改變了這一切。研發人員可以輕易識別問題并進行故障隔離,顯著提高生產效率。
五:簡化回滾
CI/CD 流水線給予研發人員快速試錯和快速恢復的能力。
一個簡單流程就可以將代碼發布到生產環境,如果發生問題,簡單回滾即可。這種代碼簡單回滾的能力,節約了團隊時間、精力以及資源,并且能夠快速修復問題代碼。
六:持續反饋
作為 DevOps 平臺的一部分,統一的 CI/CD 流程讓團隊中的每個人(包括業務利益相關者),都可以清楚獲悉發生了什么、在哪兒發生以及將會出現什么問題。
這聽起來很簡單,但在現實中,能夠提供統一工具窗口查看完整流程,是革命性的轉變。
因為在過去,需要使用很多的工具來完成項目工作,以至于項目經理不得不在眾多地方查看,甚至詢問一眾人來獲取狀態更新信息,研發和運維也有同樣困擾。顯然,這極大浪費了時間和資源,特別是在出現問題時。
七:最佳透明度和問責制
得益于持續反饋,CI/CD 流水線使得軟件研發流程對業務側完全透明。產品經理對項目狀態一目了然,并根據需要追蹤進度和跟蹤責任。
八:提高 MTTR(平均修復時間)
得益于 CI/CD 流水線的可視化,DevOps 團隊可以快速發現問題并進行快速修復。有一個關鍵指標衡量快速解決問題的能力:平均修復時間(MTTR)。MTTR 越好,DevOps 團隊工作越高效,軟件發版也越快。
九:監控指標數據
團隊和業務側都需要知道在代碼實際運行如何。在理想情況下,團隊知道存在代碼問題,并在終端用戶感知到之前進行回滾。但在傳統研發實踐中,監控指標往往是缺失的。
CI/CD 流水線通過多種指標數據的持續反饋,讓“理想”變為現實。訪問指標數據不僅節省時間,也間接改進代碼質量,沒有組織希望與錯誤纏身的代碼和性能不佳的應用程序相關聯。
十:減少 Backlog 中的非重要缺陷
很明顯,CI/CD 可以節約時間和金錢,讓開發人員有時間去處理他們過往沒有精力做的事情,比如回頭去修復老代碼中的問題,將其變得更加整潔和高效。
DevOps 和 CI/CD 給團隊帶來了改變:開發人員不僅可以解決積壓的問題,還可以處理非關鍵缺陷,讓產品更加完美。