一,CI/CD流程和持續交付簡介
CI(Continuous Integration)持續集成
CD(Continuous Deployment)持續部署
CD(Continuous delivery)持續交付
持續集成是一種軟件開發實踐,即團隊開發成員經常集成他們的工作,通常每個成員每天至少集成一次,也就意味着每天可能會發生多次集成。每次集成都通過自動化的構建(包括編譯,發布,自動化測試)來驗證,從而盡早地發現集成錯誤。持續集成的優點可參考文章https://www.jianshu.com/p/325f447e7881 。
·本文展示了CI/CD的一種解決方案,下文將進行基於這種方案的持續集成流水線的流程說明。使用到的開源組件如下:
1,git 代碼倉庫
2,gerrit 代碼審查
3,sonarqube 代碼質量檢查
4,jenkins 自動化工具
5,sonatype nexus maven私庫
6,rundeck 自動化工具
7,dashboard 問題跟蹤
二,架構圖及流程介紹
根據架構圖簡單概述為幾個階段:
一, 提交階段
1,開發人員提交代碼到git倉庫。
2,開發人員使用sonarqube進行代碼質量檢查並根據檢查結果進行修復代碼。
3,測試人員使用jenkins對代碼進行構建並進行單元測試、代碼質量檢查。
3,運維人員使用jenkins對代碼進行構建並打包發布到測試環境。
二,測試階段
1,測試人員使用jenkins進行集成測試
2,測試人員使用jenkins進行容量測試
三,發布階段
1,運維人員使用jenkins將經過測試的master分支的包發布到生產環境