【下一代核心技術DevOps】:(五)微服務CI與Rancher持續整合

vesaa發表於2017-12-14

 1. 引言

  DevOps的核心魅力是快速的持續整合交付,降低研發和實施運維之間的互動,使得傳統的各種扯皮現象統統消失。最重要的是降低成本

  保障產品交付可靠性。

   使用Rancher作為持續整合的關鍵環節,統一結連微服務和雲端計算,使得產品從研發到上線流水線操作,提高生產效率,此處我寫的是微服務

   而不是傳統的程式,是因為微服務(架構的產品)和容器服務,雲端計算是完美結合的三大核心模組,也是網際網路下一代核心技術DevOps的3個

   核心支柱。而傳統程式,由於在微服務架構方面轉型較慢或者生態鏈較弱,無法完美進行DevOps。

    注:在此不做較多解釋,避免口水戰,詳情可看我的第一篇部落格。

 

 2. 整合說明

  本例整合程式碼採用java微服務專案,可拋棄第三方整合元件如 Jenkins 。簡單高效。

  實現提交程式碼,即生產釋出的全自動流程 (Code->Git repository->Docker repository->Rancher->Server)

 

 3. 配置自動CI

     登陸阿里雲映象庫  https://dev.aliyun.com

     選擇映象區域,如華南1. 點選 “建立映象倉庫”

 建立:名稱空間,

倉庫名稱:你的專案名稱

原始碼選擇:阿里雲Code或者其他的Git源

勾選:程式碼變更時自動構建映象 

路徑:/  或者你程式碼裡Dockerfile檔案的全路徑

標籤:latest或者自定義版本號

然後點選:建立映象倉庫

只要提交程式碼上來,伺服器就會自動根據構建image映象

   

 

  4 配置映象自動構建

   點選剛建立的:server-config 庫 。 管理 。記錄下映象庫的地址。需要在接下來的Rancher進行配置

  

 進入Rancher管理後臺-基礎架構-映象庫 -新增

 新增成功後,Rancher就可以下載部署你的私有映象

 接下來進入 Rancher管理後臺 -API-WebHooks 新增一條接收器

 名稱:隨意好記

 型別:升級服務

 引數格式:阿里雲

 標籤:latest

 選擇器標籤:update=server-config

 然後點選:建立 

 複製儲存:觸發地址

 

再次進入阿里雲Docker管理服務後臺,看到構建裡面的映象已經構建完畢

我們點選 webhook ,新增一條記錄

名稱:隨意

URL:剛才Rancher裡面配置的觸發地址

標籤:latest

登陸Rancher管理後臺,開始部署我們的應用

新建服務

映象:剛建立的映象名稱

標籤:update=server-config

完成後,Rancher自動拉取映象庫的映象並部署

 

 5. 自動整合,升級

 提交程式碼。檢視映象自動構建過程。 完成後,檢視Rancher的服務server-config 自動升級。

 

 

 至此,基於DevOps的全自動CI/DI釋出已經實現。且不用配置Jenkins等複雜的整合元件。最重要的是:你花錢了麼?不需要自己的伺服器,全部FREE

 

 1.這種整合適合於 團隊內部進行了相關測試, 最終交付的程式碼已經是穩定可靠版。直接上生產的情況。其實這也是大多數中小型公司使用的方式。

屬於半自動化。方便,靈活可控,可隨時中斷某個環節。

 2. 另外一種方式,是全部使用全自動化整合測試,同時包括自動化團隊溝通,同時多映象庫釋出,自定義動作等。 這個對公司IT能力水平要求較高,使用

Pipeline Jenkins流水線釋出。這個我會在隨後的博文裡面給大家講。


相關文章