讀懂 CI CD 工具

2021-10-09 03:49:25 字數 1940 閱讀 4855

以下為譯文:

關於持續整合(ci)和持續交付(cd)的資源和資訊有很多,包括定義、最佳實踐和操作指南。此外,每天都有大量的 ci /cd 工具上市。但是為什麼我們需要 ci 和 cd?

讓我們從一些基本資訊開始介紹。

一文讀懂 ci/cd 工具

什麼是持續整合和持續交付?

有很多定義在流傳,但這裡的兩個定義抓住了這兩個過程的本質:

這聽起來不錯。但是你可能會問,「這有什麼大不了的?」 要回答這個問題,我們需要想象乙個沒有ci / cd的世界,看看為什麼這麼多人跳上ci / cd的列車。

一文讀懂 ci/cd 工具

假如沒有ci / cd

1、交付緩慢

手動任務對於完成任務的人來說是乏味且令人沮喪的。這些任務減慢了交付過程,並最終阻礙了創新。如果競爭對手使用自動化而你沒有使用自動化,那麼競爭對手就贏了。等待部署的**是不賺錢的。

2、缺乏可見性

「錯誤發生在**?是什麼原因造成的?每個環境中部署了什麼?我們可以把程式回退嗎?」

如果沒有ci / cd這些就是你每天都會問並且試圖回答的問題。

3、錯誤和使用者不滿

沒有自動化就意味著使用者會出錯。每個手動任務都為錯誤開啟了大門。這些錯誤經常發生並且難以解決。

另外,由於不經常合併大量**,因此在漫長的開發周期結束時會發現錯誤,修復這些錯誤可能更具挑戰性,或者對難於排除故障的**庫中的其他部分產生影響。

錯誤會導致軟體交付過程中涉及的個人和部門之間關係緊張。運維部門將糟糕的**歸咎於開發人員。開發人員對所有手動任務感到沮喪,並指責qa沒能捕獲錯誤。當客服人員必須解決終端使用者的不滿時,他們會責怪參與過程的每個人。最終,這個組織會缺乏協作和工作友誼。

一文讀懂 ci/cd 工具

ci/cd 優點

1、交付更快

當今的商業世界需要以往任何時候都需要更快的創新。借助自動化,你可以更快地交付產品,並獲得終端使用者的反饋,因為需要完成的手動任務更少,你可以更頻繁地發布較小的更改來促進生產。ci / cd可以使你更好地參與市場競爭。

2、增加可見性

使用ci / cd,測試和部署過程是透明的。任何問題都幾乎可以立即看到,並且可以迅速找到原因,從而減少了常規方式在確定原因時所涉及的猜測。

由於漏洞易於跟蹤,因此人們要負起各自的責任。這並不意味著是時候進行互相指責了,而是說負責這部分**的人是解決問題的最佳人選。最終,正常執行的時間增加了。

3、消除錯誤

發生錯誤是很難避免的。現代軟體功能,專案和應用程式很複雜。乙個版本有很多地方可能出錯。畢竟,每個開發人員都是人,都可能犯錯。持續整合消除了其中的一些複雜性,減少了問題所在的領域,並增加了成功的可能性。自動化對於減少人為錯誤是必不可少的。如果計算機可以執行任務,請讓計算機執行該任務。

持續整合的兩個主要原則是頻繁執行**以及自動執行軟體交付生命週期的構建和測試部分。每天多次執行**整合意味著可以更快地發現錯誤,因為需要做的挖掘工作更少就可以更快地糾正錯誤。

開發人員的手工任務更少,這意味著出現人為錯誤的機會更少。運維會收到高質量的**。qa需要解決的問題較少。客戶服務不會收到那麼多惱人的電子郵件和**。每個人的工作都得到改善。

4、釋放資源

如果將可重複和可**的任務移交給自動化,則可以為開發人員騰出時間,這樣他們可以做自己喜歡的事情:開發。將平凡的重複性任務留給計算機(它們不介意)),讓你的開發人員做更有成就感和回報的高階工作!

使用ci / cd,同樣數量的資源可以進一步分配。因此,在保持原始業務約束的同時,還可以完成更多工作。

5、終端使用者更滿意

更快,更頻繁的發布和更少的錯誤會促使開發人員與其他業務部門之間建立起信任,按時完成任務,獲得可靠的結果,可以使終端使用者更加滿意。ci / cd是雙贏的。

如果沒有ci / cd,交付緩慢,缺乏可見性,錯誤頻繁發生,終端使用者會感到不滿意。但是,有了ci / cd和自動化,更頻繁的整合,更好的可見性,更友好的協作和更容易定位錯誤的解決方案,所有這些問題就消除了。難怪越來越多的企業正在朝著敏捷方**和自動化流程邁進!

搭建CICD平台

1 主機準備。2 安裝前預配置。準備相應的系統配置與軟體依賴。3 執行安裝。4 安裝後配置。新增相應的元件以及修改配置。如匯入模板等。一 主機準備 centos7.2 配置 記憶體大於4g。其中jenkins佔1.5g gitlab佔2g 8080 10080 10022 50000埠未使用 二 安...

CI CD 持續交付

軟體開發的最終目標是快速,高質量的交付客戶價值。行業實踐證明,持續整合 continuous integration 持續交付 continuous delivery 是微服務交付的最佳實踐。ci 開發人員將 提交到版本控制系統 gitlab 以後,將後續的軟體構建,單元測試,整合測試 etc.這些...

詳解CI CD相關概念

在軟體的編譯發布的過程中,經常能夠看到ci cd這樣的詞語。其實他們是專業的縮寫短語,這裡介紹下他們的概念和區別。敏捷軟體開發,英文全稱 agile software development,是從1990年代開始逐漸引起廣泛關注的新型軟體開發方式,是一種應對快速變化的需求的一種軟體開發能力。它們的具...