成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

揭秘Shopify的軟件發(fā)布流程,如何做到合并上千程序員的工作?

新聞 前端
2019 年,Shopify 在博客中分享了自己成功合并千名開(kāi)發(fā)人員工作的經(jīng)驗(yàn),并介紹了工具 Merge Queue v2,很多人都好奇為什么 Shopify 要構(gòu)建這樣的一款工具呢?

 [[323054]]

2019 年,Shopify 在博客中分享了自己成功合并千名開(kāi)發(fā)人員工作的經(jīng)驗(yàn),并介紹了工具 Merge Queue v2,很多人都好奇為什么 Shopify 要構(gòu)建這樣的一款工具呢?

其實(shí)答案很簡(jiǎn)單,不少企業(yè)發(fā)展到一定階段后就會(huì)遇到這樣的情況。隨著業(yè)務(wù)發(fā)展,Shopify 意識(shí)到市面上沒(méi)有任何現(xiàn)成的產(chǎn)品可以徹底解決他們面臨的困難。從更長(zhǎng)遠(yuǎn)地來(lái)看,Shopfiy 認(rèn)為公司應(yīng)該為開(kāi)發(fā)人員提供盡量完善的開(kāi)發(fā)體驗(yàn),并要塑造一種"軟件發(fā)布文化",所以就開(kāi)始不斷改進(jìn)現(xiàn)有的工具鏈和流程方法。

Shopify 是這樣定義企業(yè)文化的:

Shopify 所有人信念和行為的總和。

軟件發(fā)布工作是開(kāi)發(fā)工作的子集,自然,"軟件發(fā)布文化"也要和企業(yè)文化保持一致。Shopfiy 的軟件發(fā)布工作規(guī)范與其他企業(yè)沒(méi)有太大不同,比如他們要求錯(cuò)誤的更改不應(yīng)該流入生產(chǎn)環(huán)境,破壞用戶(hù)體驗(yàn);生產(chǎn)環(huán)境中所做的更改不應(yīng)該犧牲安全性等等。

通往羅馬的道路不止一條,同樣的軟件發(fā)布文化,也有很多可選的實(shí)現(xiàn)路徑。Shopify 認(rèn)為,企業(yè)支持團(tuán)隊(duì)?wèi)?yīng)該為開(kāi)發(fā)人員開(kāi)辟一條路徑,讓他們自由發(fā)揮生產(chǎn)力和創(chuàng)造力,并實(shí)現(xiàn)自己的目標(biāo)。企業(yè)應(yīng)該營(yíng)造一種氛圍,讓版本發(fā)布成為一種勝利時(shí)刻。

1. Shopify 如何評(píng)估軟件發(fā)布文化

如何塑造軟件發(fā)布文化?

首先要考慮以下問(wèn)題:

  • 開(kāi)發(fā)人員希望選擇怎樣的工作方式?
  • 對(duì)他們來(lái)說(shuō)哪些事情比較重要?
  • 他們?nèi)绾慰创脕?lái)支持他們的工具?
  • 他們想知道多少幕后信息,想了解多少自己使用的工具背后的知識(shí)?

這些問(wèn)題往往沒(méi)有單一的答案,尤其是 Shopify 這家企業(yè)中每天參與軟件部署工作的人員眾多,涉及的崗位也多種多樣。Shopify 選擇了一些主動(dòng)和被動(dòng)的方法來(lái)評(píng)估企業(yè)內(nèi)部的軟件發(fā)布文化,這些方法不分先后,它們共同描繪出了一幅關(guān)于開(kāi)發(fā)人員如何使用各種工具的圖景。

揭秘Shopify的软件发布流程,如何做到合并上千程序员的工作?

其中,被動(dòng)方法主要用來(lái)管理和匯總輸入的信息,并不需要企業(yè)支持團(tuán)隊(duì)去做很多工作。其中,有一個(gè)方法是 開(kāi)發(fā)人員滿(mǎn)意度調(diào)查,這是對(duì) Shopify 全公司的開(kāi)發(fā)人員每半年進(jìn)行一次的調(diào)查研究。開(kāi)發(fā)人員需要報(bào)告很多信息,比如說(shuō)他們對(duì)自己所使用的工具的滿(mǎn)意度,或者工作中哪些環(huán)節(jié)非常浪費(fèi)時(shí)間等等。

此外,公司還專(zhuān)門(mén)設(shè)立了面向所有人開(kāi)放的 Slack 頻道。在這個(gè)頻道上,產(chǎn)品用戶(hù)可以從開(kāi)發(fā)團(tuán)隊(duì)或其他用戶(hù)那里獲得支持,并報(bào)告他們遇到的問(wèn)題。Shopify 團(tuán)隊(duì)會(huì)積極參與這些頻道的互動(dòng),培養(yǎng)社區(qū)氛圍并鼓勵(lì)開(kāi)發(fā)人員分享經(jīng)驗(yàn)。需要注意的是,這些頻道并不是用來(lái)獲取產(chǎn)品反饋的主要渠道。

總的來(lái)說(shuō),他們希望能主動(dòng)找出產(chǎn)品和服務(wù)中的痛點(diǎn)所在,而且意識(shí)到了這個(gè)過(guò)程并不能過(guò)分依賴(lài)用戶(hù),因此 Shopify 也采取了一些積極的措施來(lái)找出最重要、優(yōu)先級(jí)最高的問(wèn)題。

一種措施叫做 dogfooding。公司內(nèi)開(kāi)發(fā)團(tuán)隊(duì)用來(lái)發(fā)布代碼的工具是和構(gòu)建與維護(hù)代碼的工具完全一致的。這樣就很容易找出服務(wù)的缺陷所在,并在出現(xiàn)產(chǎn)品問(wèn)題時(shí)站在用戶(hù)的視角上理解其影響。

另一項(xiàng)重要資源是 Shopify 的 內(nèi)部支持團(tuán)隊(duì)。他們需要幫助用戶(hù),還要支持企業(yè)內(nèi)部不斷發(fā)展的工具套件,這是很艱巨的挑戰(zhàn)。他們需要診斷問(wèn)題,幫助用戶(hù)找到合適的團(tuán)隊(duì)來(lái)指導(dǎo)他們解決這些問(wèn)題。他們能夠找出用戶(hù)在當(dāng)前工作流程中遇到的常見(jiàn)痛點(diǎn)以及概念和原型的潛在問(wèn)題。

最后,在添加新功能或更改現(xiàn)有工作流程時(shí),Shopify 會(huì)在整個(gè)過(guò)程中實(shí)施 用戶(hù)體驗(yàn)研究分析:

  • 更好地了解用戶(hù)行為和期望
  • 在開(kāi)發(fā)概念和原型時(shí)測(cè)試它們

當(dāng)開(kāi)發(fā)人員發(fā)布 PR 時(shí),團(tuán)隊(duì)會(huì)單獨(dú)考察開(kāi)發(fā)人員的想法,了解他們都在考慮哪些內(nèi)容,在制定決策時(shí)都有怎樣的根據(jù)。團(tuán)隊(duì)會(huì)與設(shè)計(jì)師和撰稿人等用戶(hù)交流,學(xué)習(xí)他們的日常工作流程,了解他們所依賴(lài)的工具和用法。公司會(huì)讓實(shí)習(xí)生和新人測(cè)試產(chǎn)品原型,從中了解外部和新鮮視角的觀(guān)點(diǎn),并挑戰(zhàn)原有的產(chǎn)品假設(shè)。

有了這些流程,企業(yè)就能在整個(gè)構(gòu)建和發(fā)布過(guò)程中都能從真實(shí)用戶(hù)那里獲得一手反饋,進(jìn)而打造更好的產(chǎn)品和服務(wù)。

反饋是一種禮物

在 Shopify 經(jīng)常提到的一句話(huà)就是,反饋是一種禮物。

評(píng)估軟件發(fā)布文化的目的是創(chuàng)建一個(gè)反饋循環(huán),讓用戶(hù)可以輕松談?wù)撍麄冇龅搅四男┱系K,收到反饋的開(kāi)發(fā)團(tuán)隊(duì)會(huì)重視這些意見(jiàn)并嘗試采取對(duì)策。

還有很重要的一點(diǎn)是,用戶(hù)的反饋會(huì)讓產(chǎn)品團(tuán)隊(duì)充滿(mǎn)動(dòng)力,即便反饋是負(fù)面的,這也是用戶(hù)重視產(chǎn)品、希望產(chǎn)品變得更好的一種證明,這自然會(huì)鼓勵(lì)團(tuán)隊(duì),甚至讓他們?cè)诿鎸?duì)困境時(shí)振作起來(lái)。用戶(hù)希望自己的反饋能有價(jià)值,這是企業(yè)要給用戶(hù)營(yíng)造的氛圍,企業(yè)的軟件開(kāi)發(fā)文化和工具鏈應(yīng)該支持這種良性循環(huán),讓所有人都能從中獲益。

2. Shopify 的軟件發(fā)布流程

Shopify 的軟件發(fā)布流程是怎樣的形態(tài),又有哪些可以改進(jìn)的部分呢?

發(fā)布管道

揭秘Shopify的软件发布流程,如何做到合并上千程序员的工作?

發(fā)布管道路徑

這就是 Shopify 發(fā)布管道的路徑。一開(kāi)始是拉取請(qǐng)求(PR),然后是持續(xù)集成(CI)/ 合并,接著是金絲雀部署,最后是生產(chǎn)發(fā)布。

揭秘Shopify的软件发布流程,如何做到合并上千程序员的工作?

PR 和 /shipit 命令

這套流程的第一步是開(kāi)發(fā)人員創(chuàng)建 PR,然后在準(zhǔn)備交付時(shí)發(fā)出一條 /shipit 命令。接下來(lái),Merge Queue 系統(tǒng)會(huì)嘗試將 PR 與主干 Master 集成起來(lái)。

揭秘Shopify的软件发布流程,如何做到合并上千程序员的工作?

PR 合并到 Master,金絲雀部署

當(dāng) Merge Queue 確定更改可以成功集成時(shí),PR 就會(huì)合并到 Master,并部署到 Shopify 的金絲雀基礎(chǔ)架構(gòu)中。金絲雀環(huán)境會(huì)隨機(jī)接收所有傳入請(qǐng)求的 5%。

揭秘Shopify的软件发布流程,如何做到合并上千程序员的工作?

更改部署到生產(chǎn)環(huán)境

開(kāi)發(fā)人員有一套工具,可以在金絲雀環(huán)境中測(cè)試更改 10 分鐘的時(shí)間。如果沒(méi)有手動(dòng)干預(yù),并且金絲雀自動(dòng)分析不會(huì)觸發(fā)任何警報(bào),則更改將部署到生產(chǎn)環(huán)境中。

發(fā)布與恢復(fù)機(jī)制

每一位開(kāi)發(fā)人員都希望能被信任,并對(duì)自己的工作擁有自主權(quán)。開(kāi)發(fā)人員應(yīng)該能控制自己 PR 的整個(gè)發(fā)布過(guò)程。

揭秘Shopify的软件发布流程,如何做到合并上千程序员的工作?

開(kāi)發(fā)人員控制整個(gè)過(guò)程

在 Shopify 的軟件發(fā)布流程中,開(kāi)發(fā)人員能控制整個(gè)發(fā)布過(guò)程。這里不存在什么發(fā)布管理器、注銷(xiāo)或者審核窗口。

揭秘Shopify的软件发布流程,如何做到合并上千程序员的工作?

限制不良更改爆炸半徑的基礎(chǔ)設(shè)施

然而是人就會(huì)犯錯(cuò),出現(xiàn)問(wèn)題是難免的,Shopify 當(dāng)然也不例外。為此,公司建立了一套基礎(chǔ)架構(gòu)來(lái)限制不良更改的爆炸半徑。最重要的是,企業(yè)相信每位開(kāi)發(fā)人員都應(yīng)該承擔(dān)自己應(yīng)負(fù)的責(zé)任,并且如果他們的更改捅了簍子,他們也應(yīng)該能自己去恢復(fù)它。

揭秘Shopify的软件发布流程,如何做到合并上千程序员的工作?

開(kāi)發(fā)人員可以使用 /shipit--emergency 命令快速跟蹤修訂

一旦準(zhǔn)備好了修復(fù)程序(修復(fù) - 轉(zhuǎn)發(fā)或還原),開(kāi)發(fā)人員就可以使用一條 /shipit --emergency 命令快速追蹤整個(gè)修復(fù)進(jìn)程。Shopify 沒(méi)有那么多恢復(fù)協(xié)議,而只有一個(gè) 緊急狀況 功能,這樣就能讓開(kāi)發(fā)人員以最快的速度完成恢復(fù)操作。

快速發(fā)布

開(kāi)發(fā)人員希望快速發(fā)布。

揭秘Shopify的软件发布流程,如何做到合并上千程序员的工作?

發(fā)布速度是大多數(shù)企業(yè)應(yīng)用程序的一個(gè)關(guān)鍵要素。對(duì)于開(kāi)發(fā)人員而言,如果能一天多次發(fā)布代碼并立即將其發(fā)送給最終用戶(hù),就能極大提高生產(chǎn)力。但更重要的是,采用快速的發(fā)布流程可以帶來(lái)同樣快速的恢復(fù)流程。

揭秘Shopify的软件发布流程,如何做到合并上千程序员的工作?

為了真正加快發(fā)布過(guò)程,企業(yè)是需要投入資源和成本的。除了專(zhuān)門(mén)的基礎(chǔ)架構(gòu)團(tuán)隊(duì),Shopify 還管理著自己的 CI 群集,容量高達(dá)數(shù)千個(gè)節(jié)點(diǎn)。

自動(dòng)化

開(kāi)發(fā)人員不想執(zhí)行重復(fù)性的任務(wù)。計(jì)算機(jī)最擅長(zhǎng)做重復(fù)工作,所以這類(lèi)工作應(yīng)該盡可能地自動(dòng)化。Shopify 在諸如連續(xù)部署和金絲雀分析之類(lèi)的地方實(shí)現(xiàn)了自動(dòng)化。

揭秘Shopify的软件发布流程,如何做到合并上千程序员的工作?

在 Shopify,開(kāi)發(fā)人員用不著按一個(gè)部署按鈕,自動(dòng)化流程會(huì)持續(xù)部署到金絲雀和生產(chǎn)環(huán)境。

揭秘Shopify的软件发布流程,如何做到合并上千程序员的工作?

自動(dòng)化固然很棒,但是某些時(shí)候開(kāi)發(fā)人員還是需要手動(dòng)控制的。在緊急情況下,開(kāi)發(fā)人員可以鎖定自動(dòng)部署并轉(zhuǎn)為手動(dòng)部署。

 

責(zé)任編輯:張燕妮 來(lái)源: 架構(gòu)頭條
相關(guān)推薦

2011-12-15 09:47:12

API

2018-05-15 16:19:39

程序員bug代碼

2017-11-30 09:32:36

2018-07-11 15:08:35

2015-04-17 09:34:42

程序員

2017-11-13 09:20:19

技術(shù)程序員淘汰

2010-07-29 11:00:59

程序員

2014-11-25 09:31:17

程序員

2016-04-28 11:17:33

互動(dòng)出版網(wǎng)

2009-04-07 11:17:48

程序員高薪求職

2015-06-18 05:57:42

程序員適應(yīng)新工作

2023-01-17 16:05:50

程序員時(shí)間管理日程表

2016-06-15 11:06:27

云計(jì)算AWS

2015-12-07 11:44:31

程序員厭倦工作

2015-12-09 09:17:11

情緒厭倦程序員

2021-07-19 05:53:32

程序員工作效率效率

2011-07-25 09:14:40

程序員

2020-11-16 09:19:10

程序員IT互聯(lián)網(wǎng)

2017-03-27 10:17:54

程序員工作學(xué)習(xí)

2015-06-26 11:44:15

程序員跳槽新工作
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 日韩视频一区二区三区 | 亚洲最新在线视频 | 亚洲综合国产精品 | 亚洲欧洲综合av | 一区中文字幕 | 蜜桃视频一区二区三区 | 日韩精品一区二区三区老鸭窝 | 亚洲精品国产成人 | 九九热在线视频观看这里只有精品 | 91极品视频 | 韩日一区二区三区 | 99免费在线视频 | 欧美在线一区二区三区 | 欧美中文 | 欧美日韩一区二区三区四区五区 | 国产精品美女久久久久aⅴ国产馆 | 一区二区三区在线 | 欧 | 99热精品久久 | 日本在线黄色 | 国产精品永久久久久久久www | 欧美一区日韩一区 | 精品久久国产 | 日本超碰| 亚洲在线电影 | 日韩欧美精品在线 | 蜜臀久久99精品久久久久野外 | 在线午夜电影 | 国产亚洲精品久久情网 | 欧美13videosex性极品 | 亚洲精品粉嫩美女一区 | 欧美成年人视频在线观看 | 日韩欧美在线视频 | 一区二区三区精品在线 | 男女视频在线观看网站 | www.蜜桃av | 日韩电影一区 | 久久一区精品 | 一区二区三区欧美 | 精品国产乱码 | 91国语清晰打电话对白 | 毛片a区|