CI/CD大幅减少甩锅!
點擊上方“朱小廝的博客”,選擇“設為星標”
后臺回復"書",獲取
有關持續集成(CI)和持續交付(CD)的資源和信息很多,很多介紹定義、最佳實踐和操作指南。此外,每天都有大量的CI/CD工具被研發出來。但是為什么我們需要CI和CD?
讓我們從一些基本信息開始……
什么是持續集成和持續交付?
有很多定義,但是這里有兩個定義可以描述持續集成和持續交付的本質:
“持續集成:是一種開發實踐,要求開發人員每天多次將代碼集成到共享存儲庫中。” (來源:ThoughtWorks)
“持續交付:是一種軟件工程方法,團隊可以在短時間內將軟件部署到生產環境,確保在任何時候可靠地發布軟件,并且在發布軟件時可以手動進行。” (來源:維基百科)
這聽起來不錯。但是你可能會問,“有什么大不了的?”
要回答這個問題,我們需要想象一個沒有CI/CD的世界,以了解為什么這么多組織選擇CI/CD。
沒有CI/CD的世界是一個緩慢而恐怖的地方
軟件交付緩慢
手動構建和部署軟件,對于開發和運維人員來說是乏味且令人沮喪的。
這些手動任務會減緩交付過程,并最終阻礙創新。如果其他組織都使用自動化而你沒有,那么在工作效率上就輸掉了。
缺乏可見性
“錯誤發生在哪里?是什么原因造成的?每個環境中部署了什么?我們可以回滾嗎?”
如果沒有CI/CD,這些是你每天都會問并試圖回答的問題。
出錯增多和客戶不滿
沒有自動化就意味著手動操作出錯概率增加。每個手動任務都為錯誤打開了大門。手動操作,使得錯誤經常發生并且難以解決。
此外,由于不經常合并大量代碼,因此在漫長的開發周期結束時才會發現錯誤,并且錯誤修復起來可能極具挑戰性,或者對難以解決的代碼庫其他部分有影響。
手動操作造成的錯誤,會導致軟件交付過程中涉及的個人和部門之間的緊張關系。操作人員將錯誤代碼歸咎于開發人員。開發人員對所有手動任務感到沮喪,并責怪 QA 未捕獲錯誤。客戶服務部門,指責參與該過程的每個人都必須解決心客戶的不滿情緒。最終,該組織缺乏協作和友善。
擁有CI/CD的世界就是更美好的世界
軟件交付更快
當今的商業世界,需要比以往更快的創新。
借助自動化,你可以更快地交付產品,并且可以獲得最終用戶的反饋,因為需要完成的手動任務較少,并且你可以更頻繁地發布較小的變更到生產環境。
CI/CD可以使你更好地、更高效地參與市場競爭。
可見度提高
使用CI/CD,測試和部署過程是透明的。
任何問題都幾乎可以立即看到,并且可以快速找到原因,從而減少了之前在查明問題原因時迫不得已的猜測。
由于漏洞易于跟蹤,因此人們要承擔責任。這并不意味著是時候進行追責了,這意味著能夠快速找到解決該問題的最佳人選。
最終,增加了系統正常運行時間。
錯誤減少
現代軟件功能,項目和應用程序很復雜,錯誤也越來越復雜。
持續集成消除了其中的一些復雜性,減少了問題所在的領域,并增加了成功的可能性。自動化對于減少人為錯誤是必不可少的。如果計算機可以執行任務,請讓計算機執行任務。
持續集成的兩個主要原則是,頻繁運行代碼以及自動執行軟件交付生命周期的構建和測試部分。每天多次運行代碼集成意味著可以更快地發現錯誤,然后可以更快地糾正錯誤,因為每次要做的事很少。
開發人員的手動任務更少,這意味著更少的人為錯誤機會。從而,運維部門會收到高質量的代碼,QA需要解決的問題較少。客戶服務也不會收到那么多惱人的客戶投訴郵件或投訴電話。每個人的工作都得到改善。
資源釋放
如果將可重復和可預測的任務移交給自動化,則可以為開發人員騰出時間來做他們喜歡的事情:開發。將繁瑣,重復的任務留給計算機,讓你的開發人員完成更有意義,更有創意的高級工作!
使用CI/CD,可以進一步分配相同數量的資源。因此,在保持原始業務約束的同時,還可以完成更多工作。
客戶更滿意
更快,更頻繁的發布和更少的錯誤導致開發人員與其他業務部門之間的信任,按時完成任務,獲得可靠的結果以及使最終用戶更加滿意。
CI/CD是雙贏的。
CI/CD使世界運轉
如果沒有CI/CD,軟件交付速度會很慢,可見性不足,錯誤經常發生,最終用戶會感到不滿意。
但是,有了CI/CD和自動化,頻繁的集成,可見性,手動操作造成的錯誤等問題就消除了。難怪越來越多的企業正在向敏捷方法論和自動化流程邁進!
你想用CI/CD進入一個世界嗎?
譯文鏈接:
https://dzone.com/articles/why-the-world-needs-cicd
想知道更多?掃描下面的二維碼關注我
后臺回復"技術",加入技術群
【精彩推薦】
原創|OpenAPI標準規范
如此簡單| ES最全詳細使用教程
ClickHouse到底是什么?為什么如此牛逼!
原來ElasticSearch還可以這么理解
面試官:InnoDB中一棵B+樹可以存放多少行數據?
微服務下如何解耦?對于已經緊耦合下如何重構?
如何構建一套高性能、高可用、低成本的視頻處理系統?
架構之道:分離業務邏輯和技術細節
星巴克不使用兩階段提交
點個贊+在看,少個 bug?????
總結
以上是生活随笔為你收集整理的CI/CD大幅减少甩锅!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库高可用(HA)技术有哪些?
- 下一篇: 一文详解 Prometheus 的高可用