中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何通過Rancher的webhook微服務來實現CI/CD的聯動

發布時間:2021-12-24 10:10:06 來源:億速云 閱讀:369 作者:iii 欄目:云計算

這篇文章主要講解了“如何通過Rancher的webhook微服務來實現CI/CD的聯動”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何通過Rancher的webhook微服務來實現CI/CD的聯動”吧!

webhook介紹

Rancher webhook的服務流程大致如下:

  1. router根據用戶提交過來的method和url初始化對應的handler。

  2. handler解析請求參數里面的key和projectid初始化對應的webhook driver。

  3. driver調用升級接口,返回并相應觸發webhook的請求。

如何通過Rancher的webhook微服務來實現CI/CD的聯動

環境準備

Platform

Mac,Windows,Linux,Docker Cloud,AWS,Azure均可部署。

如何通過Rancher的webhook微服務來實現CI/CD的聯動

本次準備的平臺是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

如何通過Rancher的webhook微服務來實現CI/CD的聯動

CI/CD

Build應用鏡像

示例應用基于NGX官方鏡像build,修改了NGX welcome頁面信息

如何通過Rancher的webhook微服務來實現CI/CD的聯動

Push應用鏡像

推送NGX應用鏡像到指定的遠程鏡像倉庫

如何通過Rancher的webhook微服務來實現CI/CD的聯動

創建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'\nservices:\n  NGX:\n    image: anzersy/nginx:20170801\n    stdin_open: true\n    tty: true\n    cpuset: \"0\"\n    ports:\n    - 8787:80/tcp\n    cpu_shares: 1024\n    labels:\n      io.rancher.container.pull_image: always\n      servicename: nginx",
"rancherCompose": "version: '2'\nservices:\n  NGX:\n    scale: 1\n    start_on_create: true",
"binding": null,
"startOnCreate": true
}' 'http://a.b.c.d:e/v2-beta/projects/1a107/stacks'

驗證服務

打開瀏覽器,訪問NGX服務,確認應用的內容。

如何通過Rancher的webhook微服務來實現CI/CD的聯動

創建webhook

進入webhook創建頁面,通過UI為Dev,Beta,Prod 環境創建service upgrade webhook。

(注意設置好對應的鏡像TAG和服務標簽)

如何通過Rancher的webhook微服務來實現CI/CD的聯動

更新并push應用鏡像

更新NGX應用、構建鏡像,并推送到遠程倉庫。

如何通過Rancher的webhook微服務來實現CI/CD的聯動

觸發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服務,驗證服務升級內容是否正常。

如何通過Rancher的webhook微服務來實現CI/CD的聯動 如何通過Rancher的webhook微服務來實現CI/CD的聯動

感謝各位的閱讀,以上就是“如何通過Rancher的webhook微服務來實現CI/CD的聯動”的內容了,經過本文的學習后,相信大家對如何通過Rancher的webhook微服務來實現CI/CD的聯動這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

屏东市| 深圳市| 六枝特区| 安阳市| 揭西县| 石河子市| 宽甸| 理塘县| 商水县| 武平县| 崇阳县| 上蔡县| 房山区| 大邑县| 田林县| 巩留县| 乐平市| 滕州市| 大石桥市| 新营市| 双城市| 和田县| 手游| 鞍山市| 阳泉市| 屏南县| 盱眙县| 安吉县| 龙游县| 商南县| 林周县| 湖南省| 通河县| 元谋县| 嘉峪关市| 威远县| 铁岭市| 房产| 武夷山市| 米林县| 清原|