GitLab+Harbor+Jenkins+Kubernetes構建持續交付系統

GitLab+Harbor+Jenkins+Kubernetes構建持續交付系統

咱們基於Jenkins的CI/CD流程以下所示。html

基於Jenkins的持續集成與發佈

圖片 - 基於Jenkins的持續集成與發佈node

流程說明

應用構建和發佈流程說明。git

  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地址。關於邊緣節點,請查看邊緣節點配置
  9. Jenkins調用kubernetes的API,部署應用
相關文章
相關標籤/搜索