自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Jenkins之父Kohsuke Kawaguchi談持續(xù)交付流水線(xiàn)

企業(yè)動(dòng)態(tài)
一切優(yōu)秀理念和方法論的大規(guī)模普及,都有賴(lài)于先進(jìn)技術(shù)的發(fā)展以及對(duì)應(yīng)工具的發(fā)明創(chuàng)造來(lái)承載,DevOps持續(xù)交付理念亦不例外。

一切優(yōu)秀理念和方法論的大規(guī)模普及,都有賴(lài)于先進(jìn)技術(shù)的發(fā)展以及對(duì)應(yīng)工具的發(fā)明創(chuàng)造來(lái)承載,DevOps持續(xù)交付理念亦不例外。軟件開(kāi)發(fā)是截至目前,人類(lèi)最復(fù)雜、最不可控的工程技術(shù)工作,一次代碼提交到上線(xiàn),會(huì)涉及數(shù)十、數(shù)百、乃至數(shù)千個(gè)步驟、命令、服務(wù)、應(yīng)用和環(huán)境,如果我們沒(méi)有自動(dòng)化交付流水線(xiàn)來(lái)不斷提升自動(dòng)化率,實(shí)施可重復(fù)且可靠的交付運(yùn)作,而按照傳統(tǒng)的以流程文檔和操作規(guī)范指引、通過(guò)手工操作來(lái)進(jìn)行交付活動(dòng)的話(huà),其工作效率之低、錯(cuò)誤率之高已經(jīng)和正在被諸多沒(méi)有采用DevOps開(kāi)發(fā)模式和持續(xù)交付工具鏈的企業(yè)所驗(yàn)證。

KK談DevOps持續(xù)交付理念和方法論

Kohsuke Kawaguchi(KK)作為Jenkins的創(chuàng)始人,同時(shí)也是CloudBees公司CTO,是將DevOps持續(xù)交付理念進(jìn)行工具工程化實(shí)踐的第一人,更是推動(dòng)DevOps理念大規(guī)模普及的靈魂人物之一。作為軟件開(kāi)發(fā)端到端持續(xù)交付系統(tǒng),Jenkins用戶(hù)量達(dá)200+萬(wàn),在持續(xù)交付流水線(xiàn)專(zhuān)業(yè)工具領(lǐng)域市場(chǎng)占有率超90%,是事實(shí)上的流水線(xiàn)工具標(biāo)準(zhǔn)。

日前,在2018華為全聯(lián)接大會(huì)上,KK帶來(lái)主題為《Super Powers Coming to Your Jenkins》的精彩演講,內(nèi)容涉及DevOps CI/CD持續(xù)交付理念和方法論,以及Jenkins流水線(xiàn)Blue Ocean、Cloud Native Jenkins、Jenkins Evergreen、Jenkins X等面向不同場(chǎng)景的產(chǎn)品解決方案及關(guān)鍵技術(shù)。

[[247286]]

例如,有了Cloud Native Jenkins,通過(guò)云化和彈性擴(kuò)容降低單點(diǎn)故障,用戶(hù)就不會(huì)在周五晚上接到Jenkins服務(wù)宕機(jī)需要修復(fù)的連環(huán)奪命c(diǎn)all,也無(wú)需做資源的預(yù)留以降低運(yùn)維成本和前期投資,未來(lái)也將會(huì)有更高的性能表現(xiàn)。

Jenkins Evergreen提供了預(yù)置模板,用戶(hù)僅需幾次點(diǎn)擊,在幾分鐘內(nèi)即可生成一條可持續(xù)工作的流水線(xiàn),大大簡(jiǎn)化流水線(xiàn)的配置步驟,有效降低配置門(mén)檻。Evergreen所有的配置均由Jenkins管理,可在線(xiàn)升級(jí),用戶(hù)只需專(zhuān)注于自己的業(yè)務(wù)開(kāi)發(fā)和交付即可,無(wú)需關(guān)注各種復(fù)雜的流水線(xiàn)配置和組件管理。

Jenkins configuration as code實(shí)踐一切配置即代碼,用戶(hù)可通過(guò)編寫(xiě)YAML腳本來(lái)對(duì)接插件、安全工具、檢查工具、文檔服務(wù)等,任何工具或者服務(wù)均可以通過(guò)腳本來(lái)實(shí)現(xiàn)對(duì)接?;诖?,用戶(hù)可以對(duì)版本控制、代碼審計(jì)、滾動(dòng)部署等環(huán)節(jié)跟蹤查看,精確追溯插件集及其版本,使用戶(hù)對(duì)各種更改更有信心。

隨著新型云操作系統(tǒng)kubernetes的興起,用戶(hù)需要跟進(jìn)學(xué)習(xí)一大堆新知識(shí)、工具和服務(wù),比如如何往容器遷移,如何安裝和實(shí)施k8s,如何將容器安裝到k8s,k8s的生態(tài)系統(tǒng)和工具鏈對(duì)比選型等等,總而言之,適配Kubernetes絕非易事。Jenkins X致力于提供持續(xù)交付云原生應(yīng)用的最佳實(shí)踐,涵蓋構(gòu)建、測(cè)試、審查、變更、協(xié)作等各種最優(yōu)產(chǎn)品。

華為云DevCloud Cloudpipeline實(shí)踐分享

此外,會(huì)上華為專(zhuān)家還向與會(huì)者介紹了DevCloud Cloudpipeline實(shí)踐。華為云專(zhuān)家講道,華為研發(fā)模式先后經(jīng)歷了手工作坊、IPD、測(cè)試自動(dòng)化工廠、CI、CD、DevOps等各種研發(fā)模式的變遷,隨之進(jìn)行了對(duì)應(yīng)的組織和流程變革,并產(chǎn)生了相應(yīng)的工具平臺(tái)來(lái)承載這些模式的落地和運(yùn)行。隨著研發(fā)模式、組織、流程、工具的不斷變革,產(chǎn)品交付效率大幅提升,TTM時(shí)長(zhǎng)從過(guò)去的1~1.5年縮短至2~6周。一些偏互聯(lián)網(wǎng)化的產(chǎn)品,迭代周期縮短至1周,每天可以并行發(fā)布多個(gè)微服務(wù)。

在這個(gè)過(guò)程中,自動(dòng)化的持續(xù)交付流水線(xiàn)平臺(tái)/服務(wù),是最核心的工程實(shí)踐?;诹魉€(xiàn),以代碼提交到上線(xiàn)的端到端交付周期的縮短作為目標(biāo)驅(qū)動(dòng),使得各服務(wù)自動(dòng)化能力和并發(fā)效率實(shí)現(xiàn)大幅提升改進(jìn),比如手工轉(zhuǎn)自動(dòng)化測(cè)試、容器化構(gòu)建、基礎(chǔ)設(shè)施即代碼、容器化部署、灰度發(fā)布服務(wù)等,確保產(chǎn)品最終的可重復(fù)、可靠的快速迭代發(fā)布。

華為內(nèi)部8萬(wàn)研發(fā)員工,最初使用的基本都是商用開(kāi)發(fā)工具,而這些工具很難滿(mǎn)足產(chǎn)品敏捷交付的需求,畢竟產(chǎn)品的敏捷和快速迭代,有賴(lài)于工具平臺(tái)的敏捷和快速迭代能力的支撐。因而全面轉(zhuǎn)向了開(kāi)源,并在保證100%兼容原生開(kāi)源系統(tǒng)的同時(shí),進(jìn)行云化、服務(wù)化、單點(diǎn)登錄、多region、高并發(fā)、高可靠、高安全、面向不同行業(yè)和解決方案場(chǎng)景等方面持續(xù)強(qiáng)化,構(gòu)筑產(chǎn)品核心競(jìng)爭(zhēng)力。

當(dāng)華為意識(shí)到,華為內(nèi)部面臨的軟件持續(xù)交付工具鏈搭建、運(yùn)維的核心痛點(diǎn),其他企業(yè)也會(huì)面臨時(shí),便將工具鏈對(duì)外提供服務(wù)。希望通過(guò)可視化、靈活編排的自動(dòng)化持續(xù)交付流水線(xiàn)及DevOps工具鏈,實(shí)現(xiàn)不中斷業(yè)務(wù)升級(jí),產(chǎn)品分鐘級(jí)發(fā)布上線(xiàn),助力企業(yè)大幅縮短交付周期,提升交付效率和產(chǎn)品質(zhì)量。

華為產(chǎn)品團(tuán)隊(duì)和代碼規(guī)??缍葮O大,一些典型的大產(chǎn)品,代碼量達(dá)1000+萬(wàn)行,團(tuán)隊(duì)規(guī)模也達(dá)1000+人,不僅組件多,團(tuán)隊(duì)也多,相互依賴(lài)更多。同時(shí),華為大平臺(tái)戰(zhàn)略帶來(lái)一個(gè)現(xiàn)象,就是產(chǎn)品通常依賴(lài)于另外一個(gè)獨(dú)立BG下的一個(gè)大平臺(tái)產(chǎn)品,且業(yè)務(wù)BG內(nèi)部還會(huì)有自己的小平臺(tái)產(chǎn)品,這樣導(dǎo)致一個(gè)產(chǎn)品會(huì)依賴(lài)于好幾個(gè)不同團(tuán)隊(duì)交付的不同平臺(tái)。而由于產(chǎn)品規(guī)模太大,業(yè)務(wù)特性達(dá)數(shù)千個(gè),模塊也往往達(dá)到數(shù)十上百個(gè)。不同部門(mén)使用的環(huán)境和組網(wǎng)也會(huì)存在極大差異。

在這種復(fù)雜的環(huán)境下,華為構(gòu)建了分層分級(jí)持續(xù)交付流水線(xiàn),分為個(gè)人級(jí)、項(xiàng)目級(jí)、子系統(tǒng)級(jí)、產(chǎn)品級(jí)(版本級(jí))、解決方案級(jí)等數(shù)級(jí)流水線(xiàn),通過(guò)流水線(xiàn)編排工作流、觸發(fā)下一級(jí)流水線(xiàn)的執(zhí)行來(lái)保障產(chǎn)品團(tuán)隊(duì)和組件之間的協(xié)同交付。

在這個(gè)過(guò)程中,配套L1-L4分級(jí)測(cè)試模型,在不同層級(jí)流水線(xiàn)執(zhí)行不同的自動(dòng)化測(cè)試策略,并設(shè)置每個(gè)階段任務(wù)對(duì)應(yīng)的質(zhì)量門(mén)禁來(lái)判斷是否允許流水線(xiàn)繼續(xù)執(zhí)行。通過(guò)多級(jí)流水線(xiàn)的層層防護(hù),使得缺陷發(fā)現(xiàn)前移,有效保障了產(chǎn)品質(zhì)量。

對(duì)應(yīng)于最新的微服務(wù)化的產(chǎn)品形態(tài),配套提供了微服務(wù)持續(xù)交付流水線(xiàn)模板。區(qū)別于傳統(tǒng)產(chǎn)品持續(xù)交付流水線(xiàn),微服務(wù)流水線(xiàn)在角色權(quán)限上匹配全功能團(tuán)隊(duì)全棧工程師的角色權(quán)限模型,SDE可以從代碼提交并端到端執(zhí)行流水線(xiàn)直至微服務(wù)發(fā)布上線(xiàn)。同時(shí),構(gòu)建出鏡像,并實(shí)施容器化部署、灰度發(fā)布策略、失敗自動(dòng)回滾策略,微服務(wù)可按天、按小時(shí)甚至分鐘級(jí)灰度發(fā)布上線(xiàn)。

針對(duì)靜態(tài)資源提供了持續(xù)部署流水線(xiàn),流水線(xiàn)從軟件包變更開(kāi)始執(zhí)行,到跨多region并行部署,實(shí)現(xiàn)多區(qū)多服務(wù)器的靜態(tài)資源包自動(dòng)更新。

在相關(guān)配套技術(shù)和服務(wù)中,灰度發(fā)布能力、極速構(gòu)建、基礎(chǔ)設(shè)施即代碼、配置即代碼、Docker、K8s、自動(dòng)部署、自動(dòng)化測(cè)試、CloudPipeline CDDL(Continious Deliver Domain Language)描述文件等尤為關(guān)鍵?;叶劝l(fā)布、藍(lán)綠部署等策略可以確保不中斷服務(wù)升級(jí)。增量構(gòu)建、并行構(gòu)建、依賴(lài)預(yù)讀與緩存、容器化slave等不斷提升構(gòu)建速度,從小時(shí)級(jí)進(jìn)入分鐘級(jí)。通過(guò)容器化技術(shù)使得環(huán)境標(biāo)準(zhǔn)化,有效消除DTAP四大環(huán)境間的差異,減少環(huán)境配置、部署和問(wèn)題定位成本。CDDL描述語(yǔ)言定義流水線(xiàn)的編排和各服務(wù)接入標(biāo)準(zhǔn)。人工審核可以在自動(dòng)化能力未達(dá)到完全保障質(zhì)量的情況下,增加評(píng)審人來(lái)把控下發(fā)布質(zhì)量。

自動(dòng)化一切、代碼化一切、服務(wù)化一切、版本化一切、數(shù)據(jù)化一切、可視化一切,是流水線(xiàn)和DevOps平臺(tái)的基本方向。未來(lái)還會(huì)包括智能化一切。同時(shí),DevCloud流水線(xiàn)支持百萬(wàn)級(jí)并發(fā)調(diào)度能力能力,并提供可視化看板,和任務(wù)健康度(執(zhí)行成功率)、及流水線(xiàn)整體、階段、任務(wù)三級(jí)執(zhí)行時(shí)長(zhǎng)直觀展示。

在DevCloud on DevCloud的dogfooding吃狗糧實(shí)踐分享中,提及在傳統(tǒng)自動(dòng)化測(cè)試?yán)砟钌?,探索在線(xiàn)測(cè)試的新方法和理念、實(shí)踐,并逐步加大在線(xiàn)測(cè)試比重,以便進(jìn)一步縮短TTM、提升產(chǎn)品質(zhì)量。

在演講末端,華為專(zhuān)家基于現(xiàn)網(wǎng)進(jìn)行了“一次修改如何快速上線(xiàn)”的實(shí)戰(zhàn)演示,這種基于現(xiàn)網(wǎng)的現(xiàn)場(chǎng)演示,是需要十分的底氣和自信的,也彰顯了DevCloud華為軟件開(kāi)發(fā)云服務(wù)的質(zhì)量可信度。

華為正致力于Jenkins網(wǎng)站的中文本地化工作,且一直以來(lái)雙方共同探索在社區(qū)等各方面更深層次的合作,希望Jenkins和DevCloud華為軟件開(kāi)發(fā)云服務(wù)能夠共同為大家提供更好的持續(xù)交付流水線(xiàn)服務(wù)。

最后,“The more you build quality into systems — through automation & shorter cycle times — the more you increase throughput & stability”,用流水線(xiàn)所承載的快速、可靠、可重復(fù)的持續(xù)交付使命作為結(jié)束吧。

 

責(zé)任編輯:張燕妮 來(lái)源: 51CTO
相關(guān)推薦

2017-03-02 14:12:13

流水線(xiàn)代碼Clojure

2019-11-07 09:00:39

Jenkins流水線(xiàn)開(kāi)源

2023-05-26 08:31:09

2021-10-12 08:47:01

Nexus存儲(chǔ)庫(kù)管理器DevOps

2018-04-24 09:00:00

開(kāi)發(fā)自動(dòng)化軟件架構(gòu)

2022-07-18 06:05:28

Gitlab流水線(xiàn)

2017-02-28 16:00:45

DevOpsMarkdownreST

2023-05-10 15:08:00

Pipeline設(shè)計(jì)模式

2013-06-06 09:31:52

2017-02-28 15:40:30

Docker流水線(xiàn)Azure

2021-11-08 07:41:16

Go流水線(xiàn)編程

2024-01-07 12:47:35

Golang流水線(xiàn)設(shè)計(jì)模式

2021-06-26 14:22:34

Tekton流水線(xiàn)Kubernetes

2022-01-26 08:12:42

Jenkins開(kāi)源流水線(xiàn)

2023-08-18 10:24:52

GitLabCI 流水線(xiàn)

2021-04-13 06:15:37

開(kāi)源部署流水線(xiàn)Jenkins

2024-05-24 08:11:50

Jenkins用戶(hù)權(quán)限管理

2021-06-28 06:32:46

Tekton Kubernetes Clone

2023-08-30 14:38:57

交付DevOpsCI/CD

2021-12-24 08:02:48

GitLabCI模板庫(kù)流水線(xiàn)優(yōu)化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)