容器平臺自動化CI/CD流水線實操
阿新 • • 發佈:2022-03-23
CI/CD
持續整合(Continuous Integration, CI): 程式碼合併,構建,部署,測試都在一起,不斷地執行這個過程,並對結果反饋。
持續部署(Continuous Deployment, CD): 部署到測試環境、預生產環境、生成環境。
持續部署(Continuous Delivery, CD): 將最終產品釋出到生成環境、給使用者使用。
Jenkins與容器技術CI/CD實戰
說明:這張圖稍微更形象一點,上線之前先把程式碼git到版本倉庫,然後通過Jenkins 如Java專案通過maven去構建,這是在非容器之前,典型的自動化的一個版本上線流程。那它有哪些問題呢?
如:它的測試環境,預生產環境,測試環境。會存在一定的相容性問題 (環境之間會有一定的差異)
容器化CI/CD
說明:它這裡有一個docker harbor 的映象倉庫,通常會把你的環境打包為一個映象,通過映象的方式來部署。
Jenkins與Docker的自動化CI/CD流水線實踐
Pipeline 有諸多優點,例如:
- 專案釋出視覺化,明確階段,方便處理問題
- 一個Jenkins File檔案管理整個專案生命週期
- Jenkins File可以放到專案程式碼中版本管理
Jenkins管理介面
操作例項:Pipeline的簡單使用
這裡是比較重要的核心,構建流程
點選儲存之後,立即構建
映像中普通Jenkins構建方式步驟:
而pipeline 的構建流程:
pipeline有諸多優點:
- 專案釋出視覺化,明確階段,方便處理問題
- 一個Jenkins File 檔案管理整個專案生命週期
- Jenkins File 可以放到專案程式碼中版本管理
一個Jenkins file 維護一個生命週期,就像寫程式碼一樣,只維護這個file檔案就可以了。
小結:
Jenkins與kubernetes搭建CI/CD流水線有諸多好處:
- Jenkins高可用
- 自動伸縮
- 環境隔離
- 易維護
參考連結:https://www.cnblogs.com/haowen980/p/9383306.html