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流水線發布。這個我會在隨后的博文里面給大家講。