CICD 持續整合與持續交付

2022-07-23 16:21:19 字數 1943 閱讀 3357

持續整合與持續交付是軟體開發和交付中的實踐。我們專案中一直在踐行持續整合(ci:continuous integration);持續交付(cd:continuous delivery)未能達到理想狀態,只能實踐一部分。這篇文章用於總結ci/cd的實踐。

什麼是持續整合?

軟體開發中,整合是乙個很可能發生未知錯誤的過程。持續整合是一種軟體開發實踐,希望團隊中的成員頻繁提交**到**倉庫,且每次提交都能通過自動化測試進行驗證,從而使問題盡早暴露和解決。

持續整合的好處是什麼?

持續整合可以使問題盡早暴露,從而也降低了解決問題的難度,正如老馬所說,持續整合無法消除bug,但卻能大大降低修復的難度和時間。

如何做到持續整合?

首先,持續整合需要:

1. 單一的**倉庫,團隊成員都像該倉庫提交**;

2. 自動化構建且構建過程需要包含自動化測試;

3. 有單獨的整合機器用於構建;

4. 保證構建速度不要太慢(曾經有乙個專案構建需要20分鐘,就會很痛苦);

5. 在類產品環境進行測試;

6. 能夠方便獲取最新的可執行程式;

7. 視覺化,大家都能看到構建過程及結果;

8. 自動化部署。

其次,我們通過以下步驟進行持續整合:

2. ci伺服器監測**庫,並在有提交時自動觸發;

3. ci伺服器對**進行構建,執行單元測試和整合測試;

4. ci伺服器發布可部署的artefact用於後續測試,並加上本次構建版本的標籤。

5. ci伺服器通知團隊構建成功或者失敗;失敗發生時團隊需要盡快修復,以免耽擱後續的持續整合過程,因為失敗時處於持續整合的暫停階段。

最後,需要就團隊責任達成共識:

1. 頻繁提交;

2. 提交之前確保測試通過;

3. 不在持續整合失敗時提交**;

4. 提交**後保證持續整合成功,不然不准回家

持續整合 持續交付 持續部署

持續整合 持續整合強調開發人員提交了新 之後,立刻進行構建 單元 測試。根據測試結果,我們可以確定新 和原有 能否正確地整合在一起。持續交付 持續交付在持續整合的基礎上,將整合後的 部署到更貼近真實執行環境的 類生產環境 production like environments 中。比如,我們完成單...

持續整合 持續交付 持續部署

參考 1 continuous integration 持續整合 持續整合強調對於開發人員的每個提交,立刻進行構建 單元 測試。根據測試結果,我們可以確定新 和原有 能否正確地整合在一起。2 continuous delivery 持續交付 持續交付在持續整合的基礎上,將整合後的 部署到更貼近真實執...

CI CD 持續交付

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