該書作者為Jez Humble和David Farley氧猬,內(nèi)容主要為講述如何更快陵吸、更可靠忿晕、低成本的自動(dòng)化軟件交付休弃,如何通過(guò)增加反饋及團(tuán)隊(duì)之間的協(xié)作來(lái)實(shí)現(xiàn)自動(dòng)化軟件交付吞歼。其中主要的三大部分為:持續(xù)交付的原則,部署流水線塔猾,以及部署流水線的投入細(xì)節(jié)篙骡。 <br />
在第一章作者講述了軟件交付的問(wèn)題,從四個(gè)方面進(jìn)行了具體分析:
常見(jiàn)的發(fā)布反模式
1.手工部署軟件
許多組織都使用手工方式發(fā)布軟件丈甸,這樣很容易出現(xiàn)人為錯(cuò)誤糯俗,也會(huì)導(dǎo)致發(fā)布時(shí)間變長(zhǎng)、發(fā)布結(jié)果不可測(cè)、效率降低延刘。
2.開(kāi)發(fā)完成后向類生產(chǎn)環(huán)境部署
團(tuán)隊(duì)在部署前溝通協(xié)作過(guò)少霎箍,導(dǎo)致部署過(guò)程經(jīng)常出現(xiàn)各種棘手問(wèn)題,增加工作量忽刽,延長(zhǎng)發(fā)布周期,降低工作效率夺欲。
3.生產(chǎn)環(huán)境的手工配置
重復(fù)地創(chuàng)建應(yīng)用程序所依賴的每個(gè)基礎(chǔ)設(shè)施無(wú)疑會(huì)浪費(fèi)人力物力財(cái)力跪帝,而且在部署過(guò)程出錯(cuò)時(shí),無(wú)法進(jìn)行回滾操作些阅。
如何實(shí)現(xiàn)自動(dòng)化軟件交付
1.每次修改都觸發(fā)反饋流程
每當(dāng)修改源代碼后伞剑,都要進(jìn)行構(gòu)建和測(cè)試,每一次變更都要以自動(dòng)化方式盡可能地被測(cè)試市埋,比如檢測(cè)軟件的單元測(cè)試是否成功黎泣、軟件是否滿足一定的質(zhì)量標(biāo)準(zhǔn)等方面,保證環(huán)境的任何修改都不會(huì)影響應(yīng)用程序的正常運(yùn)行缤谎。
2.盡快接受反饋
在整個(gè)流水線中的提交階段抒倚,其測(cè)試應(yīng)具有這幾個(gè)特征:運(yùn)行速度快,測(cè)試盡可能全面坷澡,不能發(fā)布有問(wèn)題的應(yīng)用程序托呕,做到環(huán)境中立。成功的測(cè)試代表好的結(jié)果,這就要求有全面的自動(dòng)化測(cè)試套件進(jìn)行快速的反饋项郊。
3.交付團(tuán)隊(duì)必須接受反饋并作出反應(yīng)
參與軟件交付的所有人都應(yīng)參與到反饋流程中馅扣,做到信息及時(shí)化,保證工作效率着降。
收效
1.授權(quán)團(tuán)隊(duì)
部署流水線使部署變得靈活差油,能夠輕松將任意版本的軟件部署到任意環(huán)境,這無(wú)疑會(huì)使團(tuán)隊(duì)協(xié)作更加高效任洞,減少無(wú)用繁瑣的工作厌殉。
2,減少錯(cuò)誤
不再依賴手工配置,避免重復(fù)性的工作侈咕,而且通過(guò)機(jī)器我們能更快知道出現(xiàn)問(wèn)題的具體原因以及所在公罕。
3.緩解壓力
這點(diǎn)聽(tīng)上去確實(shí)有誘惑力,自動(dòng)化使得部署發(fā)布不再變成令人壓力山大的工作耀销,給項(xiàng)目及團(tuán)隊(duì)帶來(lái)的好處都是不可限量的楼眷。
軟件交付原則
1.為軟件的發(fā)布創(chuàng)建一個(gè)可重復(fù)且可靠的過(guò)程
2.將所有事情自動(dòng)化
3.把所有東西納入版本控制
4.提前并頻繁的讓你做痛苦的事情
5.內(nèi)建質(zhì)量
越早發(fā)現(xiàn)缺陷,修復(fù)它們的成本越低熊尉。
6.“DONE”意味著“已發(fā)布”
7.交付過(guò)程使每個(gè)成員的責(zé)任
8.持續(xù)改進(jìn)
感想
自動(dòng)化軟件交付帶來(lái)的益處確實(shí)是不可估量的罐柳,相當(dāng)于顛覆了整個(gè)傳統(tǒng)的手工發(fā)布過(guò)程,實(shí)現(xiàn)之后不論哪個(gè)方面都會(huì)得到提高狰住,而其也在告訴我們軟件發(fā)布前及過(guò)程中碰到的問(wèn)題如何去解決并完善张吉,自動(dòng)化是一個(gè)大的方向,我們應(yīng)該向其慢慢靠攏催植。