欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

持續(xù)交付體系在高德的實(shí)踐歷程-創(chuàng)新互聯(lián)

1. 前序

對(duì)于工程團(tuán)隊(duì)來(lái)說(shuō),構(gòu)建一套具有可持續(xù)性的、多方面質(zhì)量保證的交付體系建設(shè),能夠?yàn)闃I(yè)務(wù)價(jià)值的快速交付搭建起高速公路,也能為交付過(guò)程中的質(zhì)量起到保駕護(hù)航的作用。本文為大家介紹持續(xù)交付體系在高德的演進(jìn)與落地。

10年積累的網(wǎng)站設(shè)計(jì)、做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有大箐山免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

2. 持續(xù)交付

正如前序中所總結(jié)的,我們需要構(gòu)建一套持續(xù)交付體系,從而保證在質(zhì)量不下降的前提下,在業(yè)務(wù)價(jià)值交付上有更進(jìn)一步的突破。那么我們先了解一下什么是持續(xù)交付以及集團(tuán)在持續(xù)交付的建設(shè)上有哪些指引。

2.1 持續(xù)交付概念

引用Martin Fowler大師在2013年時(shí)發(fā)表的文章,對(duì)于持續(xù)交付的概念有如下的解釋:Continuous Delivery is a software development discipline where you build software in such a way that the software can be released to production at any time.

在上述文中,可以提取幾個(gè)關(guān)鍵詞:

  • 軟件開(kāi)發(fā)的標(biāo)準(zhǔn)化準(zhǔn)則
  • 可以做到隨時(shí)隨地的發(fā)布

什么情況下就可以算是團(tuán)隊(duì)達(dá)到了持續(xù)發(fā)布的狀態(tài)呢?Martin Fowler大師也給出了標(biāo)準(zhǔn)的答案:

  • Your software is deployable throughout its lifecycle
  • Your team prioritizes keeping the software deployable over working on new features
  • Anybody can get fast, automated feedback on the production readiness of their systems any time somebody makes a change to them
  • You can perform push-button deployments of any version of the software to any environment on demand

那么基于以上的觀點(diǎn),我們?cè)诮⒆陨淼某掷m(xù)交付體系時(shí),需要抓住以下幾個(gè)重點(diǎn):

  • 標(biāo)準(zhǔn)化流程流轉(zhuǎn)
  • 當(dāng)有變更進(jìn)入時(shí),能夠快速、準(zhǔn)確且自動(dòng)的得到反饋
  • 解決部署問(wèn)題的優(yōu)先級(jí)高于功能開(kāi)發(fā)
  • 一鍵發(fā)布

2.2 集團(tuán)的持續(xù)交付建設(shè)

從理論基礎(chǔ)上對(duì)于持續(xù)交付有了初步了解后,我們從集團(tuán)層面了解一下是如何定義持續(xù)交付的能力,并且對(duì)于持續(xù)交付提出了哪些效能改進(jìn)目標(biāo),參見(jiàn)阿里技術(shù)公眾號(hào)的文章 《如何衡量研發(fā)效能?阿里資深技術(shù)專家提出了5組指標(biāo)》

持續(xù)交付體系在高德的實(shí)踐歷程

文章中將持續(xù)價(jià)值交付的能力拆分為3個(gè)層面的5組指標(biāo),從不同角度對(duì)持續(xù)價(jià)值交付能力進(jìn)行了衡量。

有了上面專業(yè)層面的衡量指標(biāo),那我們是如何定義一個(gè)優(yōu)秀的持續(xù)交付衡量目標(biāo)呢?

管理學(xué)之父德魯克說(shuō):“如果你不能度量它,就無(wú)法改進(jìn)它”。度量幫助我們更深刻認(rèn)識(shí)研發(fā)效能,設(shè)定改進(jìn)方向,并衡量改進(jìn)效果,所以想要進(jìn)行效能提升的前提是先能夠識(shí)別交付過(guò)程中的質(zhì)效瓶頸。

因此,集團(tuán)在基于部分BU的優(yōu)秀實(shí)踐下提出了2-1-1的愿景。

持續(xù)交付體系在高德的實(shí)踐歷程

  • 1小時(shí)的發(fā)布前置時(shí)間是對(duì)于基礎(chǔ)設(shè)施能力的要求,需要保證當(dāng)達(dá)到交付標(biāo)準(zhǔn)后,通過(guò)交付流水線能夠達(dá)到1小時(shí)內(nèi)的打包、部署和驗(yàn)證的能力;
  • 1周的開(kāi)發(fā)周期涉及產(chǎn)品需求拆分、研發(fā)QA協(xié)作能力、持續(xù)測(cè)試以及快速反饋能力方面提出了挑戰(zhàn);
  • 2周的需求交付周期是以前兩項(xiàng)為基礎(chǔ),不僅是涉及到產(chǎn)研測(cè)三方,還包括其他協(xié)同部門的通力合作才能保證業(yè)務(wù)價(jià)值的快速交付。

3. 持續(xù)交付在高德

在基于集團(tuán)愿景的指導(dǎo)下,反觀現(xiàn)有高德服務(wù)端的交付流程,我們發(fā)現(xiàn)在整個(gè)流程中,存在很多效率上的豎井,這些效率問(wèn)題匯總起來(lái),便會(huì)成為整個(gè)交付流程上的效能瓶頸,進(jìn)而影響業(yè)務(wù)價(jià)值的盡早交付。

持續(xù)交付體系在高德的實(shí)踐歷程

我們先從一個(gè)整體的Milestone來(lái)回顧一下整個(gè)持續(xù)交付所經(jīng)過(guò)的一些重要時(shí)間節(jié)點(diǎn):

  • 2018/08 構(gòu)思與工程能力建設(shè):項(xiàng)目啟動(dòng)階段,工程效率團(tuán)隊(duì)與業(yè)務(wù)線明確了持續(xù)交付的目標(biāo),并啟動(dòng)了工程能力建設(shè)
  • 2018/12 初步落地與試點(diǎn):項(xiàng)目試點(diǎn)階段,完成了初步的持續(xù)交付流程搭建,并在一個(gè)項(xiàng)目中驗(yàn)證流程卡點(diǎn)以及質(zhì)量標(biāo)準(zhǔn)的基礎(chǔ)能力驗(yàn)證。最終建立了基礎(chǔ)的質(zhì)量標(biāo)準(zhǔn)以及降低流程中的耗時(shí)
  • 2019/04 推進(jìn)接入與平臺(tái)優(yōu)化:項(xiàng)目推進(jìn)階段,持續(xù)交付項(xiàng)目質(zhì)量項(xiàng)優(yōu)化并在高德的服務(wù)端的6條業(yè)務(wù)線中進(jìn)行推廣,在9月份完成6條業(yè)務(wù)線以及11個(gè)應(yīng)用的持續(xù)交付落地
  • 2019/09 復(fù)盤(pán)與展望:項(xiàng)目推進(jìn)總結(jié),對(duì)整個(gè)推進(jìn)過(guò)程進(jìn)行復(fù)盤(pán)與后續(xù)持續(xù)交付如何落地進(jìn)行復(fù)盤(pán)與展望,整體產(chǎn)出業(yè)務(wù)推進(jìn)中出現(xiàn)的問(wèn)題以及改進(jìn)方法
  • 未來(lái):在交付流程上進(jìn)行貼合業(yè)務(wù)線的微創(chuàng)新,并對(duì)效能瓶頸點(diǎn)進(jìn)行縱深挖掘。結(jié)合各縱向平臺(tái)進(jìn)行縱深挖掘,例如:覆蓋率與精準(zhǔn)回歸、云歌Case平臺(tái)、代碼掃描平臺(tái)等

通過(guò)milestone的展示,對(duì)于高德持續(xù)交付體系的演進(jìn)有了大致的了解后,下面對(duì)于落地的過(guò)程以及改進(jìn)的內(nèi)容進(jìn)行一下詳細(xì)的梳理。

3.1 接入持續(xù)交付前的交付流程

首先先介紹一下在接入持續(xù)交付體系之前,高德的服務(wù)端是如何進(jìn)行迭代的開(kāi)發(fā)與上線的。

持續(xù)交付體系在高德的實(shí)踐歷程

與大部分互聯(lián)網(wǎng)公司一樣,我們將軟件的交付拆分為多個(gè)周期,進(jìn)行迭代式的交付,以便增量式的進(jìn)行用戶價(jià)值的交付。上圖描述了一個(gè)正常迭代周期內(nèi)的研發(fā)、測(cè)試以及發(fā)布的流程,我們可以拆分為以下幾個(gè)方面:

1.迭代周期起始于代碼庫(kù)的變更

2.在功能開(kāi)發(fā)完成后,研發(fā)通過(guò)CI系統(tǒng)進(jìn)行冒煙測(cè)試驗(yàn)證,保證服務(wù)可以正常啟動(dòng)以及基礎(chǔ)功能可用

3.在規(guī)定的提測(cè)時(shí)間前,研發(fā)將Feature分支通過(guò)CR和MR合并到迭代分支,部署到日常環(huán)境進(jìn)行提測(cè)

4.QA在收到提測(cè)郵件后,參與到日常環(huán)境的測(cè)試中

5.當(dāng)日常環(huán)境測(cè)試完成后,QA會(huì)進(jìn)行測(cè)試報(bào)告的產(chǎn)出,并確認(rèn)日常環(huán)境測(cè)試通過(guò),可以發(fā)布到預(yù)發(fā)環(huán)境

6.部署到預(yù)發(fā)環(huán)境后,會(huì)進(jìn)行流量回放等測(cè)試,并最終通過(guò)線上的灰度驗(yàn)證,最終發(fā)布到正式環(huán)境

通過(guò)上述的圖片和描述,我們可以看到在看似完善的軟件交付過(guò)程中,卻仍然存在如下一些質(zhì)量、效率問(wèn)題:

1.需求堆積提測(cè)、發(fā)布:

目前高德服務(wù)端大部分服務(wù)采用的是固定迭代周期進(jìn)行需求發(fā)布,規(guī)劃到迭代周期內(nèi)的需求,無(wú)論需求大小,均需要等到迭代提測(cè)時(shí)間點(diǎn)進(jìn)行提測(cè),在迭代的發(fā)布窗口進(jìn)行發(fā)布上線。在這種模式下,好的一點(diǎn)是有固定的版本節(jié)奏,整體迭代規(guī)劃性比較強(qiáng)。但是由于提測(cè)、發(fā)布窗口固定,從而也帶來(lái)了整體業(yè)務(wù)價(jià)值交付上的等待。因此,需要通過(guò)需求拆分來(lái)降低需求內(nèi)部的耦合性,通過(guò)改變研發(fā)、QA的開(kāi)發(fā)測(cè)試模式來(lái)降低需求提測(cè)中間的豎井等待,從而提升業(yè)務(wù)價(jià)值交付的效率。

2.質(zhì)量標(biāo)準(zhǔn)不透明,無(wú)法及時(shí)反饋:

從代碼提交一直到最終產(chǎn)品發(fā)布,一般情況下,會(huì)經(jīng)歷日常、預(yù)發(fā)、灰度、正式發(fā)布幾個(gè)階段,每個(gè)階段均有每個(gè)階段需要重點(diǎn)解決的問(wèn)題以及對(duì)質(zhì)量上的要求也不盡然相同。目前結(jié)果的收集匯總和通知都是通過(guò)跟版人進(jìn)行人工收集和統(tǒng)計(jì),并郵件通知項(xiàng)目成員。這樣所有的標(biāo)準(zhǔn)控制都是有每個(gè)版本的跟版人進(jìn)行把控,存在信息不透明,反饋不及時(shí)的問(wèn)題。通過(guò)質(zhì)量項(xiàng)標(biāo)準(zhǔn)的建立,以及大盤(pán)結(jié)果透明和及時(shí)的通知,能夠解決溝通層面的低效以及在傳遞過(guò)程中信息損耗,從而提升溝通效率,并且避免溝通中的誤解。在解決了當(dāng)前透明化和及時(shí)通知的問(wèn)題后,我們需要進(jìn)一步從以下兩方面進(jìn)行優(yōu)化:

將通知進(jìn)行分類以及優(yōu)先級(jí)處理,降低通知帶來(lái)的負(fù)面影響

通過(guò)信息內(nèi)容優(yōu)化,輔助業(yè)務(wù)進(jìn)行問(wèn)題的快速定位與排查

3.部署與流程流轉(zhuǎn)過(guò)程需要人工參與:

對(duì)于持續(xù)發(fā)布流程來(lái)說(shuō),有人工參與的地方勢(shì)必會(huì)影響到其中的效率。所以我們將部署和階段流轉(zhuǎn)拆分為兩個(gè)方面看:

階段流轉(zhuǎn):結(jié)合上述的階段標(biāo)準(zhǔn),通過(guò)程序來(lái)計(jì)算是否能夠滿足當(dāng)前的質(zhì)量情況是否可以進(jìn)行階段的流轉(zhuǎn),從而排除人為因素以及在階段流轉(zhuǎn)中的耗時(shí),做到準(zhǔn)確

部署:提取相應(yīng)環(huán)境的配置信息,結(jié)合Docker化,將打包、部署、健康檢查等一些列活動(dòng)轉(zhuǎn)換為機(jī)器的標(biāo)準(zhǔn)化執(zhí)行,通過(guò)標(biāo)準(zhǔn)化來(lái)避免人為參與所造成的誤差或部署失敗的問(wèn)題

4.多機(jī)房正式發(fā)布驗(yàn)證人工監(jiān)督:

目前在應(yīng)用的正式發(fā)布流程中,由于涉及的機(jī)房和機(jī)器數(shù)量較多,業(yè)務(wù)上會(huì)進(jìn)行分批驗(yàn)證,每發(fā)布完成一批機(jī)器,研發(fā)會(huì)通知QA進(jìn)行這批機(jī)器中部分機(jī)器的抽檢(部分自動(dòng)化測(cè)試),在這其中也存在著效率上的問(wèn)題。所以如何節(jié)約每次上線過(guò)程中的人力損耗,也是在追求效能極致上需要解決的問(wèn)題。

上述的每個(gè)細(xì)節(jié)的問(wèn)題,都在我們通往快速業(yè)務(wù)價(jià)值交付的道路上設(shè)置了障礙。因此,為了達(dá)成更早(快)的交付業(yè)務(wù)價(jià)值的目標(biāo)下,我們必須要在交付效率、質(zhì)量標(biāo)準(zhǔn)以及結(jié)果快速反饋這幾方面的進(jìn)行優(yōu)化。

3.2 持續(xù)交付在高德的落地

基于上節(jié)拆分出來(lái)的4方面的問(wèn)題,從工程角度來(lái)說(shuō),由于迭代的排期,需求的分解與拆分需要進(jìn)行長(zhǎng)期的實(shí)踐與規(guī)劃,并且依賴于產(chǎn)、研、測(cè)、項(xiàng)乃至于其他部門的支撐,是一個(gè)需要進(jìn)行逐步探索和調(diào)整的過(guò)程。所以我們將著眼點(diǎn)放到后3方面的建設(shè)上,期望在短期內(nèi)先建立起快速發(fā)布的能力,清除在交付過(guò)程中效率低下的點(diǎn)。

那么在解決效率問(wèn)題的建設(shè)上,借助于集團(tuán)提供的發(fā)布流程以及較好的部署能力,我們將目前拆解為如下幾個(gè)維度的抓手:

依托于集團(tuán)的發(fā)布流程,在持續(xù)交付體系中建立與集團(tuán)發(fā)布流程對(duì)應(yīng)的標(biāo)準(zhǔn)化流程流轉(zhuǎn)機(jī)制

建立服務(wù)端質(zhì)量標(biāo)準(zhǔn)體系,拉通質(zhì)量標(biāo)準(zhǔn),去人工化

打通各環(huán)節(jié)的快速反饋機(jī)制,并對(duì)發(fā)布流程進(jìn)行管控,讓變更結(jié)果隨時(shí)可見(jiàn)

降低發(fā)布過(guò)程中的人為參與,讓整個(gè)發(fā)布流程做到全程無(wú)人值守

通過(guò)下面持續(xù)交付流程圖,我們通過(guò)接入后的流程圖中看一下以上4個(gè)抓手是如何串聯(lián)起整體高德持續(xù)交付流程,并且這幾項(xiàng)是如何在高德服務(wù)端交付流程中進(jìn)行落地的。

持續(xù)交付體系在高德的實(shí)踐歷程

建立標(biāo)準(zhǔn)化的流程流轉(zhuǎn)機(jī)制

FY19高德服務(wù)端發(fā)生的線上問(wèn)題中,其中由于變更或發(fā)布引發(fā)的問(wèn)題占比約12%。通過(guò)這組數(shù)據(jù),我們期望能夠通過(guò)建立一套完整的交付流轉(zhuǎn)流程,實(shí)現(xiàn)對(duì)于變更的控制和管理,降低或避免此類問(wèn)題的發(fā)生。

基于以上立論,我們結(jié)合當(dāng)前服務(wù)端交付特點(diǎn),首先先確立以集團(tuán)標(biāo)準(zhǔn)發(fā)布流程為試點(diǎn),打通整體持續(xù)交付流程;其次,針對(duì)各應(yīng)用中不同的需求,例如:需要性能環(huán)境、覆蓋率環(huán)境等,結(jié)合流水線配置,將整個(gè)持續(xù)交付的流程流轉(zhuǎn)進(jìn)行優(yōu)化;最終沉淀為各服務(wù)的標(biāo)準(zhǔn)化流程流轉(zhuǎn)機(jī)制。通過(guò)這種先僵化,后優(yōu)化,再固化的方式,最終在服務(wù)端落地了多套標(biāo)準(zhǔn)的交付流程,避免了在交付環(huán)節(jié)上的遺漏,以及不規(guī)范的操作。

持續(xù)交付體系在高德的實(shí)踐歷程

拉通并落地服務(wù)端質(zhì)量體系標(biāo)準(zhǔn)

在高德現(xiàn)有的交付流程中,整體的質(zhì)量保障手段大部分是在日常階段進(jìn)行的,在迭代交付的過(guò)程中,各項(xiàng)質(zhì)量保障手段執(zhí)行了哪些,執(zhí)行結(jié)果是什么,目前還是通過(guò)QA人員進(jìn)行人工問(wèn)題收集與匯總,并判定階段結(jié)果的通過(guò)與否。在這種情況下,會(huì)出現(xiàn)由于跟版人交替導(dǎo)致的質(zhì)量項(xiàng)遺漏,以及質(zhì)量標(biāo)準(zhǔn)難以把控的情況。

所以基于這幾方面的問(wèn)題,我們希望通過(guò)用機(jī)器把控替代原有的人工把控的方式,通過(guò)建立標(biāo)準(zhǔn)化的質(zhì)量模板,來(lái)避免整體執(zhí)行標(biāo)準(zhǔn)不透明,執(zhí)行結(jié)果無(wú)沉淀的情況。并且,通過(guò)拉通標(biāo)準(zhǔn),也進(jìn)一步的規(guī)避掉了非重點(diǎn)服務(wù)質(zhì)量檢查點(diǎn)遺漏的情況。

通過(guò)與業(yè)務(wù)團(tuán)隊(duì)的溝通,我們?cè)诘谝浑A段將現(xiàn)有服務(wù)端的質(zhì)量保證手段進(jìn)行拆分,提取了在不同階段中相對(duì)重要的12項(xiàng)質(zhì)量項(xiàng),通過(guò)機(jī)器監(jiān)督替代原有的人為統(tǒng)計(jì)的方式。具體覆蓋了如下幾個(gè)維度:

持續(xù)交付體系在高德的實(shí)踐歷程

打通各環(huán)節(jié)的快速反饋機(jī)制,并對(duì)發(fā)布流程進(jìn)行管控,讓變更結(jié)果隨時(shí)可見(jiàn)

當(dāng)建立起有效的質(zhì)量體系后,在各階段有了質(zhì)量要求以及準(zhǔn)入準(zhǔn)出標(biāo)準(zhǔn),解決了信息收集方面的問(wèn)題,那么接下來(lái)我們要思考的就是如何將收集上來(lái)的各種信息,有效的反饋到項(xiàng)目中的各個(gè)干系人,以便進(jìn)行后續(xù)的決策支撐,并且當(dāng)未達(dá)到階段準(zhǔn)出標(biāo)準(zhǔn)時(shí),有效的控制項(xiàng)目的階段流轉(zhuǎn)。

我們將問(wèn)題拆解為兩方面看,一是有效反饋、決策支撐,二是流程流轉(zhuǎn)的管控。

從有效反饋、決策支撐方面看:

在接入持續(xù)交付之前,各業(yè)務(wù)線的針對(duì)不同類型的自動(dòng)化測(cè)試任務(wù),大部分都有通過(guò)Jenkins或測(cè)試用例工程反饋結(jié)果的通知。但是此類反饋有一個(gè)致命的問(wèn)題,就是通過(guò)單項(xiàng)反饋無(wú)法縱觀全局,不足以支撐后續(xù)的決策。

在接入持續(xù)交付后,除了原有業(yè)務(wù)上的反饋機(jī)制,平臺(tái)提供能針對(duì)當(dāng)期版本的整體狀態(tài)全覽,可以通過(guò)平臺(tái)隨時(shí)觀測(cè)到當(dāng)前版本是否達(dá)到可發(fā)布的狀態(tài)或者仍然存在哪些不足。將兩者結(jié)合起來(lái)后,針對(duì)項(xiàng)目執(zhí)行人仍然可以通過(guò)原有反饋機(jī)制了解到單點(diǎn)的質(zhì)量結(jié)果;對(duì)于跟版人、一線、二線管理者這類需要縱觀全局的角色來(lái)說(shuō),通過(guò)質(zhì)量大盤(pán),可以有效且明確的知道當(dāng)前版本與待發(fā)布狀態(tài)的差距,并支撐后續(xù)決策以及調(diào)整關(guān)注的重點(diǎn)

持續(xù)交付體系在高德的實(shí)踐歷程

從流程管控方面看:

在接入持續(xù)交付之前,可部署的產(chǎn)物無(wú)論是否經(jīng)過(guò)階段驗(yàn)證,都可人為的部署到任意環(huán)境下,雖然靈活性比較高,但是也存在一定的質(zhì)量風(fēng)險(xiǎn)。

在設(shè)計(jì)持續(xù)交付流程時(shí),對(duì)于靈活性以及規(guī)范性的取舍方面,我們也與業(yè)務(wù)同學(xué)進(jìn)行了討論。從全局看,為了避免流程不規(guī)范引起漏測(cè)或其它線上事故,最終確定在初版時(shí)先保證流程流轉(zhuǎn)的規(guī)范性,從而降低靈活部署上所帶來(lái)質(zhì)量上的風(fēng)險(xiǎn)。平臺(tái)通過(guò)集團(tuán)實(shí)驗(yàn)室插件與集團(tuán)的部署發(fā)布系統(tǒng)打通,當(dāng)階段中存在質(zhì)量項(xiàng)尚未達(dá)標(biāo)的情況下,阻止發(fā)布流程進(jìn)入到下一階段(環(huán)節(jié))。

當(dāng)基礎(chǔ)的持續(xù)交付流程落地后,為了滿足業(yè)務(wù)上對(duì)靈活性的要求,目前我們也在嘗試通過(guò)自定義流水線來(lái)進(jìn)行多環(huán)境的分發(fā)與部署,從而在保證主要階段流轉(zhuǎn)有管控的同時(shí),增加部署的靈活性,以適應(yīng)不同的業(yè)務(wù)形態(tài)。

持續(xù)交付體系在高德的實(shí)踐歷程

降低流程發(fā)布過(guò)程中的人為參與,讓整個(gè)流程做到全程無(wú)人值守

我們知道,線上環(huán)境部署的復(fù)雜程度要遠(yuǎn)高于在日常和預(yù)發(fā)環(huán)境的部署。由于部分業(yè)務(wù)線,線上的機(jī)器數(shù)量眾多,且分布在不同機(jī)房,為了保證部署時(shí)的服務(wù)可用性,線上部署時(shí)會(huì)將上千臺(tái)機(jī)器拆分為多批次進(jìn)行部署。

在接入持續(xù)交付前,為了保證部署后服務(wù)的可用性以及對(duì)質(zhì)量上的高標(biāo)準(zhǔn)要求,在每批次部署完成后,QA都需要針對(duì)當(dāng)前批次進(jìn)行全批次驗(yàn)證或抽測(cè)驗(yàn)證,當(dāng)驗(yàn)證通過(guò)后,再進(jìn)行下一批次的發(fā)布以及后續(xù)驗(yàn)證。雖然驗(yàn)證本身是通過(guò)自動(dòng)化腳本進(jìn)行驗(yàn)證,但由于機(jī)器和批次比較多,整個(gè)發(fā)布和驗(yàn)證流程會(huì)持續(xù)數(shù)小時(shí),存在較大的效率問(wèn)題。

在了解到業(yè)務(wù)上此效率瓶頸后,通過(guò)打通上下游系統(tǒng),集團(tuán)標(biāo)準(zhǔn)流程、集團(tuán)發(fā)布系統(tǒng)以及原有業(yè)務(wù)的線上驗(yàn)證工程,針對(duì)不同業(yè)務(wù)的發(fā)布場(chǎng)景,進(jìn)行發(fā)布驗(yàn)證策略的配置化。通過(guò)感知部署時(shí)的消息,獲取當(dāng)批次部署的機(jī)器列表,依據(jù)各業(yè)務(wù)的驗(yàn)證策略配置進(jìn)行自動(dòng)化的驗(yàn)證。并且結(jié)合線上階段的報(bào)警監(jiān)控,當(dāng)某批次發(fā)布驗(yàn)證出現(xiàn)問(wèn)題后,系統(tǒng)可以第一時(shí)間定位到具體是哪一批次中的哪臺(tái)機(jī)器發(fā)布出現(xiàn)問(wèn)題,幫助業(yè)務(wù)進(jìn)行部署問(wèn)題的快速定位。

持續(xù)交付體系在高德的實(shí)踐歷程

持續(xù)交付體系的業(yè)務(wù)架構(gòu)

持續(xù)交付體系在高德的實(shí)踐歷程

4. 落地效果

整個(gè)持續(xù)交付體系建設(shè),目前在高德服務(wù)端落地已經(jīng)有一段時(shí)間了,截止到目前為止:

業(yè)務(wù)線覆蓋:整個(gè)持續(xù)交付體系已經(jīng)覆蓋了高德服務(wù)端大部分重點(diǎn)業(yè)務(wù)

各階段質(zhì)量項(xiàng)建設(shè):12項(xiàng)

正式發(fā)布階提效:50%~90%

在獲得以上成果的同時(shí),除了上述量化指標(biāo)外,更有價(jià)值的是隱含在背后的研發(fā)、測(cè)試習(xí)慣上的變化。從研發(fā)、QA和項(xiàng)目主動(dòng)發(fā)起的縮短項(xiàng)目周期,到QA對(duì)于質(zhì)量項(xiàng)上提出更多的訴求等等,無(wú)一不感知到大家對(duì)于盡早且高質(zhì)量的交付業(yè)務(wù)價(jià)值這件事情的重視。當(dāng)然對(duì)于更早(快)的交付業(yè)務(wù)價(jià)值這個(gè)目標(biāo)還有一定的差距,這個(gè)也是后續(xù)我們與業(yè)務(wù)線需要共同解決的問(wèn)題。

5. 持續(xù)交付的未來(lái)

持續(xù)交付體系在高德的實(shí)踐歷程

有人將持續(xù)交付形容為在價(jià)值交付上的高速公路,持續(xù)交付的落地,標(biāo)志著價(jià)值交付到用戶的快速路已經(jīng)建立完成。但是最終是否能做到更早(快)的交付業(yè)務(wù)價(jià)值,還取決于在這條快速路上行駛的車輛。

根據(jù)這個(gè)理論,我們除了要保證這條高速公路上不出現(xiàn)坑洼的同時(shí),還要兼顧車輛本身的能力,以及車輛的性能。因此,在車輛出發(fā)前,我們更需要通過(guò)對(duì)車輛的車況進(jìn)行檢查,保證在高速路上行駛的車輛不會(huì)因?yàn)樽陨淼脑蛱岵黄鹚俣取?/p>

5.1 車況檢查

目前,已有的持續(xù)集成系統(tǒng),僅能夠保證車輛在這條路上是能開(kāi)起來(lái)的,車況的檢查都是在上了高速后才開(kāi)始的(大部分的質(zhì)量保證手段是部署到日常環(huán)境后才開(kāi)始)。所以基于上面描述的指導(dǎo)方針,我們需要盡早的做檢查,并且需要做更全面的檢查(質(zhì)量保障手段左移)。

基于這個(gè)目標(biāo)以及結(jié)合集團(tuán)內(nèi)其他BU的優(yōu)秀實(shí)踐,后續(xù)我們希望能通過(guò)代碼門禁的手段,盡早落地這類全面的檢查。若要將代碼門禁落地,無(wú)論是對(duì)于工程效率團(tuán)隊(duì)亦或是業(yè)務(wù)研發(fā)與QA團(tuán)隊(duì),都有著不小的挑戰(zhàn),我們需要做到以下的轉(zhuǎn)變:

  • QA

質(zhì)量保證的同期化能力建設(shè)

質(zhì)量保證的穩(wěn)定性與耗時(shí)優(yōu)化

  • RD

研發(fā)提交代碼流程的改變

單元測(cè)試能力的建設(shè)

Code Review的常態(tài)化落地以及規(guī)范總結(jié)

  • 能力支撐

代碼覆蓋率,業(yè)務(wù)場(chǎng)景覆蓋率的支撐

代碼合并的門禁管控能力

代碼掃描結(jié)合CodeReview的總結(jié)的落地

當(dāng)逐步完成以上任務(wù)的落地后,能夠消除批量交付業(yè)務(wù)價(jià)值交付中相互等待的時(shí)間,并且也能夠保證車輛在持續(xù)交付這條高速路上行駛得更快更穩(wěn)定。

5.2 車輛性能提升

前面車輛檢查可以說(shuō)是在車輛上路之前的檢查與保障,將質(zhì)量保證手段左移到研發(fā)階段。相對(duì)的,我們希望通過(guò)車輛性能提升的方法,在車輛上路后,能夠讓車輛行駛提速更快,拉高速度的上限。

  • 縱向測(cè)試能力提升

精準(zhǔn)回歸:通過(guò)感知代碼的變化,推導(dǎo)出代碼變動(dòng)所影響的Case,讓質(zhì)量保障更為精準(zhǔn)且耗時(shí)更少

場(chǎng)景覆蓋:結(jié)合線上流量回放,通過(guò)代碼覆蓋、場(chǎng)景覆蓋進(jìn)行查缺補(bǔ)漏,讓質(zhì)量保障更完整

問(wèn)題定位:結(jié)合失敗用例,快速的進(jìn)行問(wèn)題定位與反饋

同期化能力:結(jié)合云歌Case平臺(tái),通過(guò)接口定義進(jìn)行測(cè)試代碼與研發(fā)代碼同期化編寫(xiě)能力的加強(qiáng),以及降低Case編寫(xiě)和維護(hù)成本方面的探索

降低數(shù)據(jù)干擾:基于高頻、隔離和用完即拋的理論實(shí)踐,降低日常環(huán)境的數(shù)據(jù)干擾,讓質(zhì)量保證更有效

  • 與線上數(shù)據(jù)挖掘結(jié)合

大數(shù)據(jù)分析:

利用線上日志分析,產(chǎn)出線上真實(shí)場(chǎng)景模型,降低壓測(cè)平臺(tái)語(yǔ)料準(zhǔn)備耗時(shí),場(chǎng)景篩選上做到精確、高效

大數(shù)據(jù)運(yùn)用:

結(jié)合線上真實(shí)場(chǎng)景以及場(chǎng)景覆蓋率,構(gòu)造線下回歸Case集,降低業(yè)務(wù)回歸Case維護(hù)成本,提升Case有效率,并且能夠快速定位問(wèn)題

利用場(chǎng)景回放,以及記錄回放中間產(chǎn)物,解決在單測(cè)時(shí)場(chǎng)景構(gòu)造問(wèn)題

隨著持續(xù)交付快速通道的搭建完成,期望通過(guò)以持續(xù)交付體系為契機(jī),在多個(gè)縱向維度進(jìn)行深入挖掘,并完善整個(gè)持續(xù)交付體系,最終在更早(快)的交付業(yè)務(wù)價(jià)值的前提下,能夠有更高的質(zhì)量以及更低的人工成本,保證市場(chǎng)競(jìng)爭(zhēng)的先機(jī),讓高德在激烈的競(jìng)爭(zhēng)中優(yōu)勢(shì)更為明顯。

分享文章:持續(xù)交付體系在高德的實(shí)踐歷程-創(chuàng)新互聯(lián)
轉(zhuǎn)載來(lái)于:http://chinadenli.net/article30/dgcgpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供python、動(dòng)態(tài)網(wǎng)站品牌網(wǎng)站建設(shè)、App開(kāi)發(fā)網(wǎng)站設(shè)計(jì)公司、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名