1. 程式人生 > 其它 >容器平臺自動化CI/CD流水線實操

容器平臺自動化CI/CD流水線實操

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