1. 程式人生 > >使用Jenkins進行持續構建與釋出應用到Kubernetes叢集中

使用Jenkins進行持續構建與釋出應用到Kubernetes叢集中

本文已歸檔到kubernetes-handbook中的【最佳實踐—使用Jenkins進行持續構建與釋出】章節中,一切內容以kubernetes-handbook中穩準。

我們基於Jenkins的CI/CD流程如下所示。

基於Jenkins的持續整合與釋出

流程說明

應用構建和釋出流程說明。

  1. 使用者向Gitlab提交程式碼,程式碼中必須包含Dockerfile
  2. 將程式碼提交到遠端倉庫;
  3. 使用者在釋出應用時需要填寫git倉庫地址和分支、服務型別、服務名稱、資源數量、例項個數等,確定後觸發Jenkins自動構建;
  4. Jenkins的CI流水線自動編譯程式碼並打包成docker映象推送到Harbor映象倉庫;
  5. Jenkins的CI流水線中包括了自定義指令碼,根據我們已準備好的kubernetes的YAML模板,將其中的變數替換成使用者輸入的選項;
  6. 生成應用的kubernetes YAML配置檔案;
  7. 更新Ingress的配置,根據新部署的應用的名稱,在ingress的配置檔案中增加一條路由資訊
  8. 更新PowerDNS,向其中插入一條DNS記錄,IP地址是邊緣節點的IP地址。關於邊緣節點,請檢視kubernetes-handbook中的【最佳實踐——邊緣節點配置】章節;
  9. Jenkins呼叫kubernetes的API,部署應用到kubernetes叢集中。