【下一代核心技術DevOps】:(五)微服務CI與Rancher持續整合
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流水線釋出。這個我會在隨後的博文裡面給大家講。
相關文章
- 【下一代核心技術DevOps】:(一)容器服務的Rancher選型dev
- 【下一代核心技術DevOps】:(七)持續整合Jenkins的應用(Aliyun Pipiline持續構建)devJenkins
- 微服務容器部署與持續整合微服務
- 持續整合服務 Travis CI 教程
- GO 微服務周邊服務持續整合Go微服務
- 微服務化的基石——持續整合微服務
- CI Weekly #5 | 微服務架構下的持續部署與交付微服務架構
- 【下一代核心技術DevOps】:(二)Rancher的應用及優點簡介dev
- 【下一代核心技術DevOps】:(六)Rancher集中儲存及相關應用dev
- 淺談持續整合(CI)、持續交付(CD)、持續部署(CD)
- CI 持續整合 - 阿里云云效阿里
- 微服務、容器與持續交付微服務
- Azure DevOps+Docker+Asp.NET Core 實現CI/CD(二.建立CI持續整合管道)devDockerASP.NET
- DevOps下微服務架構連續交付部署CI/CD流程dev微服務架構
- CI/CD 持續整合部署實踐
- GitLab CI持續整合 - .gitlab-ci.ymlGitlab
- 前端專案基於GitLab-CI的持續整合/持續部署(CI/CD)前端Gitlab
- Artifactory & GitLab CI持續整合實踐Gitlab
- ET·ci —持續整合驗證平臺
- GitLab CI持續整合-GitLab RunnerGitlab
- CI Weekly #11 | 微服務場景下的自動化測試與持續部署微服務
- 使用 Jenkins 建立微服務應用的持續整合Jenkins微服務
- 前端 docker + gitlab CI 的持續整合(二)前端DockerGitlab
- 前端 docker + gitlab CI 的持續整合(一)前端DockerGitlab
- 前端 docker + gitlab CI 的持續整合(三)前端DockerGitlab
- 持續整合持續部署持續交付_持續整合與持續部署之間的真正區別
- CI Weekly #3 | 關於微服務、Docker 實踐與 DevOps 指南微服務Dockerdev
- Gitlab CI持續整合 - GitLab Runner 安裝與註冊Gitlab
- 以 egg.js 為例的持續整合(CI)、持續部署(CD)JS
- Devops 開發運維高階篇之Jenkins+Docker+SpringCloud微服務持續整合(上)dev運維JenkinsDockerSpringGCCloud微服務
- 擁抱變化——持續整合(CI)實踐心得
- 新一代 CI 持續整合工具 flow.ci 正式開源
- 青春不老 - B站的微服務與持續交付實踐|IDCF DevOps案例研究微服務dev
- 08 . Jenkins之SpringCloud微服務+Vue+Docker持續整合JenkinsSpringGCCloud微服務VueDocker
- 以持續整合工具實現DevOps之禪dev
- 資料庫與Redgate SQL Toolbelt和Azure DevOps的持續整合資料庫SQLdev
- 容器環境持續整合優化,Drone CI 提速 500%優化
- Travis CI 持續整合服務構建 Composer 類庫簡明教程