博客 / 詳情

返回

CICD流程建設之持續集成實踐指南

本文來自騰訊藍鯨智雲社區用户: CanWay

隨着軟件開發的快速迭代和交付週期的日益縮短,持續集成與持續部署(CICD)逐漸成為了軟件開發流程中不可或缺的一環。CI屬於開發人員的自動化流程,主要用於構建軟件並完成初始測試。它確保代碼在集成到共享倉庫之前,通過自動化的方式進行檢查和驗證,以便儘早發現並解決問題。CD則分為持續交付和持續部署兩部分。持續交付是指開發人員對應用的更改會自動進行持續測試並上傳到製品庫,然後由運維團隊將其部署到實時生產環境中。持續部署則是自動將開發人員的更改從製品庫發佈到生產環境,以供客户使用。

01什麼是CICD流水線?

CI/CD通常表示為一個管道,其中新代碼從一端進入,流經一系列階段(生成、測試、暫存、生產),並作為新的生產版本發佈給另一端的最終用户。CI/CD流水線的每個階段都是交付過程中的一個邏輯單元。開發人員通常將每個單元劃分為一系列按順序或並行運行的子單元CI/CD流水線是所有軟件在其開發生命週期中遵循的可運行的分步路徑。典型的CI/CD流水線有四個主要階段:提交、構建、測試和部署。
CI/CD流水線不會改變開發人員創建軟件的方式。在沒有自動化管道的情況下,工程師仍然需要手動執行相同的步驟。但是,手動方法的工作效率較低,因為團隊必須更多地關注重複性任務和修復錯誤,而不是編寫軟件。
自動化流水線為團隊提供了幾個好處:快速部署新的軟件更新可靠的構建和測試流程減少生產中出現的錯誤和錯誤所有代碼更改、測試和部署的透明日誌

上圖描述了一個完整的CI流程:
1開發人員將代碼簽入其工作站進行編輯。
2開發人員將修改提交到存儲庫。
3在接受提交之前,會檢查代碼的質量和語法。
4Commit 啓動應用程序的生成。
5如果無法構建應用程序,則會通知團隊解決問題。
6生成服務器對應用程序執行單元測試。
7如果應用程序通過測試用例,則會通知團隊可以合併代碼。
8如果程序未通過測試用例,則代碼將返回給開發團隊以修復錯誤。
9在整個開發階段應重複此循環。

實踐CI的優點CI幫助團隊在不影響質量的情況下可以加快他們的軟件發佈週期。持續集成的主要目標是緩解部署過程中可能出現的潛在風險,並縮短反饋循環。

02企業級流水線實踐指南

儘管不同企業有不同的研發管理規範,每家公司都會根據其獨特的需求定義其CI實踐。但高效的CI流水線都必須有如下的規範:1流水線的關鍵要素 通過採用明確的CI定義並在其開發過程中實施該實踐,團隊可以簡化他們的工作流程並提高他們的軟件質量。定義持續集成的關鍵要素如下:

2
流水線命名規範 創建工程流水線時,需要統一命名規範,主要分為兩種類型,即正式和非正式,具體如下:非正式的流水線,[DEV]_個人標識_模塊名,如:[DEV]_xxx_payment;正式的流水線,[RELEASE]微服務名<前端/後端/移動端>,如[RELEASE]_保單業務_後端;

3流水線編排規則 CI實踐是用於自動化和縮短反饋時間的流行軟件開發實踐。但是,如果設置不當,CI管道反而會降低代碼質量並導致開發延遲。因此,遵循CI/CD最佳實踐進行軟件開發非常重要。

user avatar sealio 頭像
1 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.