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