一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

致產品經理: 持續(xù)集成、持續(xù)交付、持續(xù)部署和DevOps

 昵稱31970350 2016-03-26
美好的周末又要來臨,小數(shù)就不跟大家聊沉甸甸的代碼了,讓我們輕松一下?lián)Q個話題。今天的主角是產品經理,程序員史蒂夫、安妮和喬伊友情客串,報幕員兼跑龍?zhí)拙褪强蓯鄣男?shù)啦,接下來精彩馬上開始——

即使產品經理每周都在與開發(fā)團隊討論新功能,團隊協(xié)作緊密無間,在不斷的PUSH下,新功能比以往看起來上線和更新速度快多了。但換個角度,從用戶層面,其實仍然是一個緩慢的過程。那對比Flickr 和 Google這樣的公司能夠現(xiàn)在一天實現(xiàn)100次的更新迭代頻率,這到底是怎么做到的呢?


毋庸置疑,這就是通過CI/CD在實際生產環(huán)境下帶來的好處和便利,作為產品經理, 對于CI/CD概念已經并不陌生,但即使想要通過它們來給現(xiàn)有產品更新帶來改變,仍然充滿擔憂顧慮和擔心。 那么下面的內容,將幫助產品經理打消疑慮。


持續(xù)集成(Continuous Integration ,CI)


在傳統(tǒng)軟件開發(fā)過程中,集成通常發(fā)生在每個人都完成了各自的工作之后。在項目尾聲階段,通常集成還要痛苦的花費數(shù)周或者數(shù)月的時間來完成。持續(xù)集成是一個將集成提前至開發(fā)周期的早期階段的實踐方式,讓構建、測試和集成代碼更經常反復地發(fā)生。


持續(xù)集成意味著一個在家用筆記本編寫代碼的開發(fā)人員(嘿,史蒂夫)和另一個在辦公室編程的開發(fā)人員(嘿,安妮)可以為同樣的產品分別地編寫軟件,將其改動整合在一個叫做源存儲庫的地方。他們可以從各自編寫的部分構建出組合的軟件,并且按照他們期望的方式來測試軟件。


開發(fā)人員通常使用一種叫做IC Server 的工具來做構建和集成。持續(xù)集成要求史蒂夫和安妮能夠自測代碼。分別測試各自代碼來保證它能夠正常工作,這些測試通常被稱為單元測試(Unit tests)。


代碼集成以后,當所有的單元測試通過,史蒂夫和安妮就得到了一個綠色構建(green build)。這表明他們已經成功地集成在一起,代碼正按照測試預期地在工作。然而,盡管集成代碼能夠成功地一起工作了,它仍未為生產做好準備,因為它沒有在類似生產的環(huán)境中測試和工作。在下面持續(xù)交付部分你可以了解到持續(xù)集成后面發(fā)生了什么。



考慮到實踐持續(xù)集成,史蒂夫和安妮必須頻繁地登記主代碼倉庫、集成和測試他們的代碼。通常一小時很多次,并且每天最少一次。


持續(xù)集成的好處是,集成不再是個頭疼事。軟件在一直被編寫和集成。在持續(xù)集成之前,集成發(fā)生在創(chuàng)建過程的結尾階段,一次性完成,并且不知道要耗時多久。而現(xiàn)在持續(xù)集成,每天都融入到了工作方式當中。


持續(xù)交付(Continuous Delivery,CD)


讓我們說回到我們的兩位開發(fā)人員,史蒂夫和安妮。持續(xù)交付意味著每次史蒂夫或安妮修改、整合和構建代碼時,也同時在類似于生產環(huán)境中自動測試了這段代碼。我們通常將這個在不同環(huán)境發(fā)布和測試的過程叫做部署流水線。通常部署流水線有一個開發(fā)環(huán)境,一個測試環(huán)境,一個準生產環(huán)境,但是這些階段會根據不同的團隊、產品和組織而變化。例如,Mingle團隊有一個階段叫做“紙杯蛋糕”的準生產環(huán)境,而Etsy的準生產環(huán)境叫做“公主”。



在不同的環(huán)境下,安妮和史蒂夫寫的代碼被分別進行測試。當代碼部署到生產環(huán)境它就開始了工作,這給予了他們更多的信心。并且只有當代碼通過前一個環(huán)境的測試才會進入到下一個部署流水線的環(huán)境當中去。通過這種方式,安妮和史蒂夫將會從每個環(huán)境中測試并得到新的反饋,如果有失敗,他們也可以在代碼被應用到生產環(huán)境之前更加容易地發(fā)現(xiàn)問題并且修正它。


持續(xù)學習


這個過程對于業(yè)務決策者來說非常重要。它意味著如果安妮的代碼通過了所有環(huán)境的測試,并將準備投入生產當中。你需要決定你的用戶是否立即能夠用上它。我們是否希望這個綠色構建現(xiàn)在投入生產?是的!一旦你的開發(fā)者完成了構建,那么一個全新的、充分測試的、可以工作的應用已經為你的用戶準備好了。


持續(xù)部署(Continuous Deployment)


史蒂夫或者安妮所做的每個改動,都是通過測試環(huán)節(jié),然后自動投入生產的實踐過程。關于這個概念這個PDF有一個很棒的闡釋:(http://www./2010/06/trunk/alwaysshiptrunk.pdf)。為了達成持續(xù)部署,你首先需要持續(xù)交付,所以這不是決定哪個優(yōu)先級更高的二選一。無論如何,持續(xù)交付對于業(yè)務的決策帶來更大的敏捷性,這才是真正實現(xiàn)業(yè)務導向的捷徑。




開發(fā)運維(DevOps)


 “DevOps”這個詞是“development”和“operations”的組合。DevOps已經上升為一種文化,它促使開發(fā)人員(史蒂夫和安妮你們快回來)和其他運維人員協(xié)同工作。具體地說,在軟件交付和部署的過程中溝通合作,為了能夠更快速更可靠地發(fā)布質量更好的應用。


擁有DevOps文化的團隊通常有一個共同的特征:熟練的多技能團隊(史蒂夫,安妮和喬伊都在同一團隊里),高水平的測試和自動發(fā)布(按持續(xù)交付的方式)以及團隊成員之間共同的目標。




一種方式是我們的開發(fā)朋友史蒂夫和安妮將同運維人員喬伊一起工作將應用交付給生產,而不是只將他們的代碼“移交”給喬伊來發(fā)布。同樣地,史蒂夫、安妮和喬伊都將作為共同負責所有產品支持和維護的服務團體的一部分,而不是僅由運維團隊負責支持。


你還將看到自動化的實踐對于持續(xù)交付和DevOps越來越重要。這是為了從持續(xù)交付和DevOps中實現(xiàn)可重復的、固定的和成功的應用發(fā)布流程,來避免人工處理非常容易出錯、而且效率低下的問題。



DevOps文化通常和持續(xù)交付關聯(lián)起來,因為他們的目標都是為了提升開發(fā)團隊和運維團隊之間的協(xié)作效率,都使用自動化進程來更快速、更頻繁、更可靠地構建、測試和發(fā)布應用。這正是我們想要的。


接下來呢?


產品經理們已經逐步看到持續(xù)集成、持續(xù)交付和DevOps的諸多好處,那么擁抱DevOps吧,祝大家周末愉快,下周見:)


    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    人妻一区二区三区在线| 亚洲一区二区三区四区| 亚洲国产欧美精品久久| 亚洲精品黄色片中文字幕| 欧美中文字幕一区在线| 欧美人禽色视频免费看| 亚洲中文字幕综合网在线| 亚洲国产丝袜一区二区三区四| 99久久成人精品国产免费| 欧美日韩精品一区二区三区不卡| 黑丝国产精品一区二区| 日韩性生活片免费观看| 国产精品国产亚洲看不卡 | 亚洲国产av在线视频| 国产原创激情一区二区三区| 中文字幕亚洲视频一区二区| 精品女同在线一区二区| 福利专区 久久精品午夜| 91麻豆精品欧美一区| 一区二区三区国产日韩| 91日韩欧美国产视频| 午夜精品福利视频观看 | 亚洲一区二区精品免费视频| 国产免费人成视频尤物| 精品精品国产自在久久高清| 色鬼综合久久鬼色88| 99国产一区在线播放| 精品人妻精品一区二区三区| 欧洲一区二区三区自拍天堂| 日本久久精品在线观看| 国产伦精品一一区二区三区高清版| 亚洲日本久久国产精品久久| 亚洲一二三四区免费视频| 自拍偷拍一区二区三区| 福利专区 久久精品午夜| 精品香蕉国产一区二区三区| 欧美国产日本免费不卡| 亚洲国产中文字幕在线观看| 人妻久久这里只有精品| 国产成人精品综合久久久看| 在线亚洲成人中文字幕高清|