《持續(xù)交付》第一章

<h2>軟件交付的問題</h2>

一學(xué)期最用心最緊張的時間是考試周,最近課程設(shè)計最擔(dān)心的是星期四因為那天要檢查代碼了,同理,我們可以輕易理解,程序員最緊張的就是軟件發(fā)布的當(dāng)天。

抽絲剝繭,我們來一步一步走進發(fā)布的過程然后對癥下藥讓發(fā)布盡可能的變成輕松的事。

<h4>一些常見的發(fā)布反模式</h4>

<h6>手工部署軟件</h6>

顧名思義,這種部署應(yīng)用程序步驟是由個人或小組去執(zhí)行,每一步都是憑借經(jīng)驗憑借記憶力去實現(xiàn)。

那么,如果部署的那位員工離職了怎么辦?部署中文檔記錄不全面或者文檔沒有及時去更新怎么辦?

這本身就是一個高度緊張有壓力的方式,而且其中還有很多不確定的因素容易導(dǎo)致出錯。

<h6>開發(fā)完成之后才會向類生產(chǎn)環(huán)境部署</h6>

第一次看到這個名字,我就想到了不愿意期中考試的我們,明明知道期中考試對我們來說是有優(yōu)勢的,它可以減少期末考試的壓力,它需要復(fù)習(xí)的知識不是很多,但是,我們就是不愿意去面對考試,所以也去抗拒期中考試。

這種孤注一擲的模式容易出現(xiàn)很多難以預(yù)料的bug,而前期的開發(fā)人員與部署人員溝通若不及時,那就很難下手去解決這些事。

<h6>生產(chǎn)環(huán)境的手工配置管理</h6>

這個呢就是部署人員寵著開發(fā)人員,好啦好啦,你需要什么環(huán)境我給你創(chuàng)造什么環(huán)境,依賴的版本補丁的級別,你別擔(dān)心別擔(dān)心,我為你改,我為你改。

什么!滾回到上一個版本?再見,好走不送!

哈哈,上面的場景雖然是我想象的,但是這個模式確實很難回到上一個環(huán)境,而且這樣改生產(chǎn)環(huán)境只能解燃眉之急并不是長遠(yuǎn)之計,萬一只在測試環(huán)境通過,到了實際生產(chǎn)環(huán)境gg了怎么辦。


<h6>我是一道光</h6>

上面提到了很多模式但也被我們否定,現(xiàn)在我們提出推薦的部署模式——自動化部署。

<h4>如何實現(xiàn)目標(biāo)</h4>

我們的目標(biāo):<strong>盡快</strong>向客戶交付<strong>可工作</strong>的軟件。

那如何實現(xiàn)我們提出的自動化部署,重點!畫重點:

<strong>1.自動化:</strong>把所有工作流程化,讓出錯幾率變小,也可以解放人力,緩解壓力。

<strong>1.頻繁做:</strong>不停的去發(fā)布,隨時可以會滾,可以縮小出錯范圍。

<h4>收效</h4>

這樣部署的收效如何?

首先整個流程是可重復(fù)的、可靠的、可預(yù)見的,所以每一次出錯的范圍都是可循的。

其次,整個過程中,開發(fā)人員、測試人員、運維人員等都是參與的,溝通也是及時的,工作效率當(dāng)然也是高效的。

最后,部署是隨時的,出錯是有范圍的,那當(dāng)然就是緩解了壓力,讓發(fā)布不再那么可怕。

<h4>候選發(fā)布版本</h4>

候選發(fā)布版本:每一次的修改后的版本都有發(fā)布的可能性。

在這個模式中,每一次提交代碼都可能產(chǎn)生一個可發(fā)布的版本。如果發(fā)布版本是一件煩惱的事情,那就反復(fù)去做這件事。

<h4>軟件交付的原則</h4>

1.為軟件的發(fā)布創(chuàng)建一個可重復(fù)且可靠的過程。

2.將幾乎所有事情自動化。

3.把所有的東西都納入版本控制。

4.提前并頻繁地做讓你感到痛苦的事。

5.內(nèi)建質(zhì)量。

6.“DONE”意味這“已發(fā)布”。

7.交付過程是每個成員的責(zé)任。

8.持續(xù)改進。

前四條我們前面一直在重點強調(diào),后面兩條也是容易理解,這里單獨解釋一下中間兩條。

內(nèi)建質(zhì)量——盡早的解決所有發(fā)現(xiàn)的bug,不要等到最后一刻迫不得已才去修改。

“DONE”意味這“已發(fā)布”——代碼寫完不代表可以松懈,只有到項目徹底發(fā)布,客戶滿意了,才意味這完成。


<h4>思考</h4>
第一章讀了好幾天才讀完,總是讀不下去感覺內(nèi)容太生硬,但是就在剛才寫完書評時才覺得其實也沒有那么難,環(huán)環(huán)相扣,都是可以去理解的。萬事開頭難,不只是走一步,堅持多走幾步就好了。

<h4>疑問</h4>

強調(diào)的是頻繁發(fā)布,那每一步走多大才算合適?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。