摘要:應用鏡像示例應用基于官方鏡像,修改了頁面信息應用鏡像推送應用鏡像到指定的遠程鏡像倉庫創建通過創建,,命令行如下驗證服務打開瀏覽器,訪問服務,確認應用的內容。驗證更新打開瀏覽器,訪問服務,驗證服務升級內容是否正常。
概述
結合大家CI/CD的應用場景,本篇Blog旨在介紹如何通過Rancher的webhook微服務來實現CI/CD的聯動。
流程介紹本次實踐的主要流程如下:
CI/CD console從代碼托管、配置中心、第三方依賴平臺拉取應用相應的代碼,配置、依賴、并構建應用鏡像。
將構建好的應用鏡像推送到鏡像倉庫。
通過Rancher Server暴露出來的API/UI/CLI創建并啟動應用棧。
在Rancher Server上創建upgrade類型的webhook。
更新應用、重新構建應用鏡像,同時推送到鏡像倉庫。
觸發Dev環境的webhook,完成Dev環境的服務升級。
Dev環境驗證升級是否成功,應用是否正常。
觸發Beta環境的webhook,完成Beta環境的服務升級。
Beta環境驗證升級是否成功,應用是否正常。
出發Prod環境的webhook,完成Prod環境的服務升級。
Prod環境驗證升級是否成功,應用是否正常。
webhook介紹Rancher webhook的服務流程大致如下:
router根據用戶提交過來的method和url初始化對應的handler。
handler解析請求參數里面的key和projectid初始化對應的webhook driver。
driver調用升級接口,返回并相應觸發webhook的請求。
環境準備 PlatformMac,Windows,Linux,Docker Cloud,AWS,Azure均可部署。
本次準備的平臺是Ubuntu發行版(14.04),為了兼容docker,選擇linux發行版的時候內核需控制在3.10以上。
Docker根據用戶選擇的平臺安裝docker引擎,安裝指導可參考https://docs.docker.com官方文檔,搭配Rancher使用,docker引擎版本最優選擇1.12.6或者1.13.1。
本次準備的docker引擎版本是1.12.6。
Rancher CI/CD Build應用鏡像示例應用基于NGX官方鏡像build,修改了NGX welcome頁面信息
Push應用鏡像推送NGX應用鏡像到指定的遠程鏡像倉庫
創建Stack&Service通過API創建webapp stack,NGX service,命令行如下
curl -u "xxx:xxx" -X POST -H "Accept: application/json" -H "Content-Type: application/json" -d "{ "description": "validate the upgrade service using webhook", "name": "webapp", "system": false, "dockerCompose": "version: "2" services: NGX: image: anzersy/nginx:20170801 stdin_open: true tty: true cpuset: "0" ports: - 8787:80/tcp cpu_shares: 1024 labels: io.rancher.container.pull_image: always servicename: nginx", "rancherCompose": "version: "2" services: NGX: scale: 1 start_on_create: true", "binding": null, "startOnCreate": true }" "http://a.b.c.d:e/v2-beta/projects/1a107/stacks"驗證服務
打開瀏覽器,訪問NGX服務,確認應用的內容。
創建webhook進入webhook創建頁面,通過UI為Dev,Beta,Prod 環境創建service upgrade webhook。
(注意設置好對應的鏡像TAG和服務標簽)
更新并push應用鏡像更新NGX應用、構建鏡像,并推送到遠程倉庫。
觸發upgrade webhook觸發upgrade webhoook,實現服務自動升級。
curl -u "xxx:xxx" -X POST -H "Accept: application/json" -H "Content-Type: application/json" -d "{ "push_data": { "tag": "20170801" }, "repository": { "repo_name": "anzersy/nginx" } }" "http://a.b.c.d:e/v1-驗證更新
打開瀏覽器,訪問NGX服務,驗證服務升級內容是否正常。
循環3.7&3.8的步驟,完成并驗證測試環境和線上環境的持續部署。
9月27日,北京海航萬豪酒店,容器技術大會Container Day 2017即將舉行。
CloudStack之父、海航科技技術總監、華為PaaS部門部長、恒豐銀行科技部總經理、阿里云PaaS工程總監、民生保險CIO······均已加入豪華講師套餐!
11家已容器落地企業,15位真·云計算大咖,13場純·技術演講,結合實戰場景,聚焦落地經驗。免費參會+超高規格,詳細議程及注冊鏈接請戳
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/27004.html
摘要:持續集成,持續交付當然也有叫通常會采用一些軟件如等來輔助我們。這時可以通過倉庫自帶的來觸發。這里的最好是可以支持,關于,大家可以理解為類似的功能。關于如何取出服務地址并自動添加記錄的原理,可以參考我之前的一篇文章文中第三部分有詳細描述。 CI(Continuous Integration)持續集成,CD(Continuous Delivery) 持續交付(當然也有叫 Continuou...
摘要:來自硅谷的企業級容器管理平臺提供商今日正式發布與企業級容器管理平臺集成的,極簡的操作體驗,強大的功能整合,完全開源,助力在企業的真正落地使用。 來自硅谷的企業級容器管理平臺提供商Rancher Labs今日正式發布與Rancher企業級容器管理平臺集成的Rancher Pipeline,極簡的操作體驗,強大的功能整合,完全開源,助力CI/CD在企業的真正落地使用。 云計算技術的廣泛采用...
摘要:在貓屎氤氳的霧氣里角仰望天花板,手機微信提醒這次構建成功或失敗,并附帶污言穢語。這時他可以開始往工位走,坐下時,微信又會提醒本次部署到成功或失敗。與企業微信的集成在決定使用之前,需要知道的是,是一個高度依賴社區的項目。 前言 相信我,一切事情的發生都是趕鴨子上架,沒有例外。人類所有偉大的變革都是迫不得已,可又是那么順其自然。比如容器(docker)技術的誕生,比如箭在弦上的創業,比如野...
摘要:本文作者為的架構師,他分享了使用和建立超高速流水線的經驗。月日,北京海航萬豪酒店,容器技術大會即將舉行。 Higher Education(highereducation.com)是一個連接學生與高校的入學申請平臺,通過引入高意圖和高質量的潛在學生,以及明確、有效的操作,為網站合作的大學吸引學生入學。每年Higher Education為其大學合作伙伴招收超過15000名在線學生入學申...
摘要:主機端口非常昂貴,因此稍后我們會使用一個負載均衡器。注冊完成后,將的配置添加到負載均衡器上。部署負載均衡器在棧中,單擊添加服務旁邊的下拉菜單,然后選擇添加負載均衡器。如果你收到狀態或的錯誤報告,那么需要檢查負載均衡器配置,確認設置無誤。 介紹 GitLab核心是集成管理Git存儲庫的工具。比如你希望創建一個提供服務的平臺,那么GitLab將提供強大的身份驗證和授權機制、工作組、問題跟蹤...
閱讀 2799·2021-11-04 16:15
閱讀 3478·2021-09-29 09:35
閱讀 4071·2021-09-22 15:45
閱讀 1428·2019-08-30 15:55
閱讀 1700·2019-08-30 15:44
閱讀 2741·2019-08-29 12:56
閱讀 2710·2019-08-26 13:30
閱讀 2184·2019-08-23 17:00