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流水線釋出。這個我會在隨後的博文裡面給大家講。