




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
TravisCI是基于的CI托管解決方案之一,由于和的緊密集成,在開源項(xiàng)TravisCItravis.ymltravis.yml另外,TravisCI可以支持市面上絕大多數(shù)的編程語(yǔ)言。但是,因?yàn)門ravis只支持,能登錄到對(duì)托管在上的項(xiàng)目有管理員權(quán)限CircleCICircleCI持和Bitbucket管理。CircleCI與其他持續(xù)集成工具的區(qū)別在于,它們提供服務(wù)的方式不同。CircleCI需要的費(fèi)。你也可以選擇你所需要的并行化級(jí)別來(lái)加速你的持續(xù)集成,它有5個(gè)并行化級(jí)別(1x、4x、8x,、12x16x)可供選擇,分別代表利用幾個(gè)容器同時(shí)進(jìn)行一個(gè)項(xiàng)目的構(gòu)第三,JenkinsJenkins是一款自包含、開源的用于自動(dòng)化驅(qū)動(dòng)編譯、測(cè)試、交付或部署等一系列任務(wù)的自動(dòng)化服務(wù),它的是JenkinsPipline。JenkinsPipline可以實(shí)現(xiàn)對(duì)持續(xù)交付插件的靈活組合,以流水線的方式接入到Jenkins服務(wù)。Jenkins還提供了一整套可擴(kuò)展的工具集,程序員可以通過(guò)代碼的方式,定義任何流水線的行為。另外,經(jīng)過(guò)多年的發(fā)展,Jenkins已經(jīng)包含了很多實(shí)用的第插件,覆蓋了持續(xù)交目前,絕大多數(shù)組織都選擇了Jenkins作為內(nèi)部的持續(xù)集成工具,主要原因是:代碼開源,插件完善,系統(tǒng)穩(wěn)定;JenkinsPipelineJenkinsMasterSlaveJenkinsMaster目前普遍的Jenkins搭建方案是:一個(gè)JenkinsMaster搭配多個(gè)JenkinsSlave。大多數(shù)情況下,這種方案可以很好地工作,并且隨著構(gòu)建任務(wù)的增加,無(wú)腦擴(kuò)容JenkinsSlave也不是一件難事。另外,不管是LinuxSlave還是WindowsSlave,Jenkins都可以很好地多,越來(lái)越頻繁,單個(gè)JenkinsMaster終究會(huì)成為系統(tǒng)中的瓶頸。圖1攜程JenkinsMaster攜程的解決思路是在Jenkins上面再封裝兩層:BuildService構(gòu)建的HTTP接口,接收請(qǐng)求后將任務(wù)丟給異步隊(duì)列BuildWorker,BuildWorker符合條件的JenkinsMaster。這里的分發(fā)條件,可以是編譯任務(wù)的平臺(tái)或語(yǔ)言,比如可以將基于Windows和Linux的任務(wù)分別放在不同的JenkinsMaster上,也可以將Java構(gòu)建和NodeJS構(gòu)建任務(wù)放在不同的JenkinsMaster上??偠灾?,構(gòu)建任務(wù)分發(fā)的策略可以是非常靈活的:構(gòu)建Worker和JenkinsMaster之間有“心跳監(jiān)測(cè)”,可以時(shí)刻檢查JenkinsMaster是否還健康,如果有問(wèn)題就將任務(wù)分發(fā)到JenkinsMaster這種拆解JenkinsMaster主要有以下幾個(gè)好處:每個(gè)JobJenkinsMasterJob做ShardingMasterMasterJenkinsSlave解決了JenkinsMaster的高可用問(wèn)題,接著就要去思考如何才能解決Slave資源管理和利明顯,而且隨著組織擴(kuò)大,幅度也有所擴(kuò)大。所以,如果按照的要求來(lái)配備Slave實(shí)因此,我們需要整個(gè)Slave集群具有更優(yōu)的彈性:既要好管理,又要好擴(kuò)展。在攜程,我們嘗試過(guò)多種虛擬機(jī)方案,比如全Windows類型、金映象方案等等。最后,根據(jù)容器的特性,選擇了容器作為解決方案。期間也經(jīng)歷了Mesos到K8s的兩套方案。SlaveWindows我們把所需的構(gòu)建軟件像大雜燴一樣一股腦地安裝在虛擬機(jī)上,比如,編譯.NET所需的MSBuild,編譯Java所需的Maven。我們著一份啰嗦冗長(zhǎng)的安裝手冊(cè),并翼翼后來(lái),我們嘗試了將虛擬機(jī)成鏡像,并使用SaltStack做自動(dòng)化變更。雖然日子好過(guò)了這讓我們非常困擾,我們做的是DevOps與持續(xù)交付,但是自己的工具管理卻如此無(wú)DockerfileGit合做到版本化控制,先更新Dockerfile再更新鏡像是很自然的事。Base你的所有構(gòu)建都需要安裝Git等軟件,那么就可以把它寫到Base鏡像里面。Docker比JavaNodeJS,Golang,Erlang,Python在嘗到了Linux容器帶來(lái)的甜頭之后,我們毅然決然地開始研究Windows容器技術(shù)。經(jīng)Docker此外,我們之前使用容器的方式幾乎和使用虛擬機(jī)一樣,也就是所謂的“胖容器”,一旦創(chuàng)建,不管用不用,它都在那里。而構(gòu)建是一個(gè)周期性的行為,一般跟著程序員的工作時(shí)間走:工作日比周末多,白天比晚上多,甚至還有明顯的午飯和晚飯空閑期。后來(lái)Mesos與Kubernetes等主流的容器集群管理工具漸漸浮出水面,出現(xiàn)在我們的視野基于Borg成熟經(jīng)驗(yàn)打造的Kubernetes,為容器編排管理提供了完整的開源方案,并且社區(qū)活躍,生態(tài)完善,積累了大量分布式、服務(wù)化系統(tǒng)架構(gòu)的最佳實(shí)踐。在2017年,攜程嘗試將Jenkins和Kubernetes集成在了一起。圖2上圖就是我們某臺(tái)宿主機(jī)24小時(shí)的構(gòu)建數(shù)量與所創(chuàng)建容器的對(duì)比圖,可以看出兩條曲線呈現(xiàn)的趨勢(shì)基本是一致的。我們?cè)谝雇黹e置的資源上,調(diào)度了一些其他的離線Job,大幅提升所以,攜程利用容器技術(shù),也順利實(shí)現(xiàn)了Slave節(jié)點(diǎn)的彈性伸縮。對(duì)于中小型企業(yè),初期完全可以利用Jenkins及其Kubernetes插件,做到Slave節(jié)點(diǎn)的資源彈性伸縮。至于與離線Job混部,因?yàn)橐紤]的因素較多,可以在應(yīng)用容器化之后再考慮。Jenkins通常建議使用成CI產(chǎn)品(比如,TravisCI、CircleCI、JenkinsCI)來(lái)作為平臺(tái)的CI自通過(guò)請(qǐng)求分發(fā)等設(shè)計(jì),可以實(shí)現(xiàn)Master利用容器技術(shù),可以解決SalveJenkinsKubernetes 不得售賣。頁(yè)面已增加防盜追蹤,將依法其上一 15|構(gòu)建檢測(cè),無(wú)規(guī)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年物聯(lián)網(wǎng)與移動(dòng)支付行業(yè)分析報(bào)告
- 2025年電力和熱力項(xiàng)目投資分析及可行性報(bào)告
- 2025年座熱湯池項(xiàng)目市場(chǎng)調(diào)查研究報(bào)告
- 水蚌行業(yè)深度研究分析報(bào)告(2024-2030版)
- 高端足球賽事官方票務(wù)總代理權(quán)授權(quán)協(xié)議
- DB32/T 4388-2022水情教育基地評(píng)價(jià)規(guī)范
- 2025-2030中國(guó)生鮮商超行業(yè)市場(chǎng)發(fā)展前瞻及投資戰(zhàn)略研究報(bào)告
- 2025-2030中國(guó)牛仔全棉服裝行業(yè)市場(chǎng)發(fā)展分析及競(jìng)爭(zhēng)格局與投資前景研究報(bào)告
- 2025-2030中國(guó)炭化木市場(chǎng)經(jīng)營(yíng)發(fā)展分析與競(jìng)爭(zhēng)風(fēng)險(xiǎn)剖析研究報(bào)告
- 中小學(xué)教務(wù)處主任的主要職責(zé)
- 特崗教師科學(xué)試題及答案
- 抖音員工合同協(xié)議
- 銀行培訓(xùn)中心管理制度
- 鋰電池基礎(chǔ)知識(shí)培訓(xùn)單選題100道及答案
- 2025年陜西省八年級(jí)中考三模生物試題(原卷版+解析版)
- 高分子化學(xué)材料結(jié)構(gòu)與性能試題及答案
- 客服質(zhì)檢管理競(jìng)聘述職報(bào)告
- 2025至2030年中國(guó)木瓜酶膠囊數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 郵件分揀員(國(guó)內(nèi)郵件分揀)中級(jí)
- 雞湯來(lái)嘍完整臺(tái)詞
- 中醫(yī)醫(yī)療技術(shù)的醫(yī)院感染控制制度
評(píng)論
0/150
提交評(píng)論