1. 引言java
DevOps的核心魅力是快速的持續集成交付,下降研發和實施運維之間的交互,使得傳統的各類扯皮現象通通消失。最重要的是下降成本web
保障產品交付可靠性。服務器
使用Rancher做爲持續集成的關鍵環節,統一結連微服務和雲計算,使得產品從研發到上線流水線操做,提升生產效率,此處我寫的是微服務架構
而不是傳統的程序,是由於微服務(架構的產品)和容器服務,雲計算是完美結合的三大核心模塊,也是互聯網下一代核心技術DevOps的3個運維
核心支柱。而傳統程序,因爲在微服務架構方面轉型較慢或者生態鏈較弱,沒法完美進行DevOps。微服務
注:在此不作較多解釋,避免口水戰,詳情可看個人第一篇博客。測試
2. 集成說明阿里雲
本例集成代碼採用java微服務項目,可拋棄第三方集成組件如 Jenkins 。簡單高效。雲計算
實現提交代碼,即生產發佈的全自動流程 (Code->Git repository->Docker repository->Rancher->Server)3d
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流水線發佈。這個我會在隨後的博文裏面給你們講。