摘要:持續(xù)集成,持續(xù)交付當(dāng)然也有叫通常會(huì)采用一些軟件如等來(lái)輔助我們。這時(shí)可以通過(guò)倉(cāng)庫(kù)自帶的來(lái)觸發(fā)。這里的最好是可以支持,關(guān)于,大家可以理解為類(lèi)似的功能。關(guān)于如何取出服務(wù)地址并自動(dòng)添加記錄的原理,可以參考我之前的一篇文章文中第三部分有詳細(xì)描述。
CI(Continuous Integration)持續(xù)集成,CD(Continuous Delivery) 持續(xù)交付(當(dāng)然也有叫 Continuous Deployment)通常會(huì)采用一些軟件如Jenkins、Drone、Travis、Gocd等來(lái)輔助我們。它們能夠與Git SVN等代碼管理倉(cāng)庫(kù)集成,幫助我們實(shí)現(xiàn)一些自動(dòng)化任務(wù)。
CI/CD軟件很多,再加上代碼倉(cāng)庫(kù)不同,外加上業(yè)務(wù)流程的復(fù)雜度和不同開(kāi)發(fā)語(yǔ)言的特性,會(huì)產(chǎn)生千變?nèi)f化的組合。可以說(shuō)CI/CD本身就是一個(gè)很大的話題,正所謂一千個(gè)人眼中就有一千個(gè)哈姆雷特,所以我們這次分享主要還是關(guān)注在與Rancher結(jié)合方面。
下面我們就以jenkins為例,看Rancher如何與其集成。
首先我們可以想到,對(duì)于一個(gè)CI/CD環(huán)境,Rancher可以提供什么?
快速部署jenkins
環(huán)境隔離/用戶管理
基于Rancher compose進(jìn)行應(yīng)用編排
提供外部訪問(wèn)入口
Rancher的Catalog中提供了jenkins部署的樣板:
左側(cè)是jenkins-ci server,右側(cè)是swam-plugin,這兩個(gè)可以組成一個(gè)master/slave模式的集群。
嘗試性的部署后,可以看到類(lèi)似這樣的效果:
選用jenkins-swarm-plugin組成slave節(jié)點(diǎn), 這樣我們可以在jenkins跑任務(wù)時(shí)能夠和docker進(jìn)行更好的集成 。
構(gòu)建完畢后,可以在jenkins中看到集群狀況:
那么使用jenkins來(lái)做CI是一種怎樣的表現(xiàn)模式呢? 我們來(lái)通過(guò)一張圖來(lái)看下:
開(kāi)發(fā)人員 push commit后,代碼倉(cāng)庫(kù)收到提交信息。這時(shí)可以通過(guò)倉(cāng)庫(kù)自帶的hook來(lái)觸發(fā)jenkins build。也可以通過(guò)jenkins的自poll來(lái)獲取最新代碼。然后jenkins就自動(dòng)執(zhí)行你所設(shè)定的各種任務(wù)腳本。
插播一句,關(guān)于觸發(fā)jenkins build 的幾種方式:
Post commit hook (git原生hook)
Webhook (github/gitlab都支持,需要hook的server端接收請(qǐng)求
Jenkins有相應(yīng)的plugin)
Build periodically / Poll SCM
CI的過(guò)程根據(jù)業(yè)務(wù)的復(fù)雜程度,各有不同,一般情況下分為這幾步:
運(yùn)行測(cè)試用例—編譯lib—制作docker鏡像并push到倉(cāng)庫(kù)—ranchercompose 部署服務(wù)。
通常我們可以把 rancher-compose 的file直接寫(xiě)在代碼project中,這樣jenkins可以直接讀取到,并執(zhí)行rancher-compose執(zhí)行部署服務(wù)。
在執(zhí)行rancher-compose時(shí),可以考慮下面兩種策略:
每次根據(jù)jenkins的
Rancher-compose --force-upgrade --pull 拉取最新鏡像并強(qiáng)制升級(jí)
在rancher-compose 執(zhí)行完畢后,通常交付一個(gè)對(duì)外訪問(wèn)的ip:port,但是這個(gè)訪問(wèn)地址一般來(lái)說(shuō)不是固定的,所以我們的業(yè)務(wù)服務(wù)部署完畢后,自動(dòng)綁定dns,是一個(gè)非常好的體驗(yàn)。
sync-service 可以將app-service的服務(wù)地址在dns中添加A記錄,這樣我們只需記住dns,就可以直接看到CD后的業(yè)務(wù)服務(wù)。這里的dns-server 最好是可以支持SRV Record,關(guān)于SRV Record,大家可以理解為類(lèi)似AWS Route53的功能。
關(guān)于如何取出服務(wù)地址并自動(dòng)添加DNS記錄的原理,可以參考我之前的一篇文章:http://blog.neunn.com/wordpre... 文中第三部分有詳細(xì)描述。
Q & AQ:你剛才提到「在執(zhí)行rancher-compose時(shí),可以考慮下面兩種策略:每次根據(jù)jenkins的
A:默認(rèn)情況下
. . ,你也可以特殊制定一個(gè)dns前綴 .
Q:jenkins里只能有一個(gè)ENV-*?
A:可以在env下部署多個(gè)jenkins,但是考慮企業(yè)內(nèi)部不同部門(mén)不同業(yè)務(wù)要進(jìn)行隔離,所以建議每個(gè)env一套jenkins。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/27972.html
摘要:來(lái)自硅谷的企業(yè)級(jí)容器管理平臺(tái)提供商今日正式發(fā)布與企業(yè)級(jí)容器管理平臺(tái)集成的,極簡(jiǎn)的操作體驗(yàn),強(qiáng)大的功能整合,完全開(kāi)源,助力在企業(yè)的真正落地使用。 來(lái)自硅谷的企業(yè)級(jí)容器管理平臺(tái)提供商Rancher Labs今日正式發(fā)布與Rancher企業(yè)級(jí)容器管理平臺(tái)集成的Rancher Pipeline,極簡(jiǎn)的操作體驗(yàn),強(qiáng)大的功能整合,完全開(kāi)源,助力CI/CD在企業(yè)的真正落地使用。 云計(jì)算技術(shù)的廣泛采用...
摘要:在貓屎氤氳的霧氣里角仰望天花板,手機(jī)微信提醒這次構(gòu)建成功或失敗,并附帶污言穢語(yǔ)。這時(shí)他可以開(kāi)始往工位走,坐下時(shí),微信又會(huì)提醒本次部署到成功或失敗。與企業(yè)微信的集成在決定使用之前,需要知道的是,是一個(gè)高度依賴(lài)社區(qū)的項(xiàng)目。 前言 相信我,一切事情的發(fā)生都是趕鴨子上架,沒(méi)有例外。人類(lèi)所有偉大的變革都是迫不得已,可又是那么順其自然。比如容器(docker)技術(shù)的誕生,比如箭在弦上的創(chuàng)業(yè),比如野...
摘要:本文作者為的架構(gòu)師,他分享了使用和建立超高速流水線的經(jīng)驗(yàn)。月日,北京海航萬(wàn)豪酒店,容器技術(shù)大會(huì)即將舉行。 Higher Education(highereducation.com)是一個(gè)連接學(xué)生與高校的入學(xué)申請(qǐng)平臺(tái),通過(guò)引入高意圖和高質(zhì)量的潛在學(xué)生,以及明確、有效的操作,為網(wǎng)站合作的大學(xué)吸引學(xué)生入學(xué)。每年Higher Education為其大學(xué)合作伙伴招收超過(guò)15000名在線學(xué)生入學(xué)申...
摘要:應(yīng)用鏡像示例應(yīng)用基于官方鏡像,修改了頁(yè)面信息應(yīng)用鏡像推送應(yīng)用鏡像到指定的遠(yuǎn)程鏡像倉(cāng)庫(kù)創(chuàng)建通過(guò)創(chuàng)建,,命令行如下驗(yàn)證服務(wù)打開(kāi)瀏覽器,訪問(wèn)服務(wù),確認(rèn)應(yīng)用的內(nèi)容。驗(yàn)證更新打開(kāi)瀏覽器,訪問(wèn)服務(wù),驗(yàn)證服務(wù)升級(jí)內(nèi)容是否正常。 概述 結(jié)合大家CI/CD的應(yīng)用場(chǎng)景,本篇Blog旨在介紹如何通過(guò)Rancher的webhook微服務(wù)來(lái)實(shí)現(xiàn)CI/CD的聯(lián)動(dòng)。 流程介紹 本次實(shí)踐的主要流程如下: CI/CD...
閱讀 1531·2021-09-22 15:35
閱讀 2011·2021-09-14 18:04
閱讀 883·2019-08-30 15:55
閱讀 2454·2019-08-30 15:53
閱讀 2684·2019-08-30 12:45
閱讀 1205·2019-08-29 17:01
閱讀 2583·2019-08-29 15:30
閱讀 3520·2019-08-29 15:09