歡迎來到逍遙右腦記憶網(wǎng)-免費(fèi)提供各種記憶力訓(xùn)練學(xué)習(xí)方法!

《持續(xù)交付》讀書心得

編輯: 路逍遙 關(guān)鍵詞: 讀書筆記大全 來源: 逍遙右腦記憶


目前市面上軟件開發(fā)類的書籍,大多聚焦于軟件開發(fā)過程,例如如何進(jìn)行需求分析,如何利用軟件工程模型進(jìn)行開發(fā)等,交付雖然也包含在軟件開發(fā)過程中,但大多數(shù)時(shí)候都不會(huì)成為關(guān)注的主題。然而,我們卻不止一次遇到過這樣的情況,當(dāng)明天需要給客戶演示新功能的時(shí)候,我們突然發(fā)現(xiàn),我們的軟件運(yùn)行不起來了,這里面有很多可能性,例如功能其實(shí)并沒有完成,但我們是否聽到很多次這樣的聲音,“在我本機(jī)上是沒有問題的啊,為什么部署到服務(wù)器上就不行呢!保覀兊慕桓赌芰θ绱舜嗳,如此不穩(wěn)定。車仔面
  《持續(xù)交付》針對交付環(huán)節(jié),系統(tǒng)地介紹了什么才是交付的最佳實(shí)踐,以及如何實(shí)現(xiàn)這樣的最佳實(shí)踐!冻掷m(xù)交付》圍繞著構(gòu)建、測試和部署自動(dòng)化的核心,提出了“部署流水線”這樣一個(gè)模型。提供了從配置管理、源代碼控制、發(fā)布計(jì)劃、構(gòu)建、測試、部署和發(fā)布等一整套解決方案,闡明了持續(xù)交付的意義、原則,以及如何在項(xiàng)目中使用這些實(shí)踐。棉花糖
  持續(xù)交付的核心便是在構(gòu)建、測試和部署自動(dòng)化的基礎(chǔ)上,不斷的進(jìn)行交付或者是交付預(yù)演,讓交付的流程得到多次的驗(yàn)證,以保證在真正發(fā)布的時(shí)候,交付流程是被驗(yàn)證過的,從而減小發(fā)布的風(fēng)險(xiǎn)。目前的部署發(fā)布都是手工進(jìn)行,這樣會(huì)帶來三個(gè)方面的問題:第一,發(fā)布依賴于個(gè)人,如果是一個(gè)比較復(fù)雜的部署發(fā)布流程,項(xiàng)目就會(huì)依賴于一個(gè)部署專家,而這個(gè)部署的崗位需要調(diào)整的話,需要付出很大的學(xué)習(xí)成本。如果軟件發(fā)布時(shí),這個(gè)部署專家正在休假,這將會(huì)給軟件的部署和發(fā)布帶來很大的風(fēng)險(xiǎn)。第二,手工部署有可能引入很多人為的錯(cuò)誤,例如,部署人員如果在部署發(fā)布的時(shí)候,誤寫了一個(gè)環(huán)境配置,將導(dǎo)致部署發(fā)布的失敗,而這類失敗將很難追溯和發(fā)現(xiàn),你有可能花了很多時(shí)間去查找代碼上的問題,到頭來結(jié)果只是配置信息誤寫了一個(gè)數(shù)字。第三,手工部署不具有可重復(fù)性,這將導(dǎo)致部署時(shí)間不可估算,并且大部分情況下,雖然已經(jīng)為部署發(fā)布做了計(jì)劃并且留出了部署時(shí)間,但實(shí)際部署的時(shí)候還是會(huì)大大超出計(jì)劃的時(shí)間。
  基于以上的分析,要實(shí)現(xiàn)持續(xù)交付,關(guān)鍵在于使構(gòu)建、測試和部署的流程自動(dòng)化,讓這個(gè)流程依賴于既定的規(guī)則而不是某一個(gè)人。這樣的規(guī)則可以是一個(gè)自動(dòng)化腳本,也可以是強(qiáng)大的自動(dòng)化管理工具。在這其中,構(gòu)建、測試和部署三個(gè)不同的階段都有各自自動(dòng)化的最佳實(shí)踐。其中相對比較重點(diǎn)的是測試階段的自動(dòng)化,測試的意義在于與保證交付質(zhì)量,而測試自動(dòng)化則是讓持續(xù)交付產(chǎn)生價(jià)值的關(guān)鍵環(huán)節(jié),畢竟,就算我們的項(xiàng)目擁有持續(xù)部署的能力,而我們忽略測試的結(jié)果,讓項(xiàng)目一直處于構(gòu)建或者集成失敗的狀態(tài),這樣,持續(xù)交付的流程就沒有給我們的項(xiàng)目帶來任何意義,而通常一個(gè)項(xiàng)目持續(xù)交付流程的搭建并不是一個(gè)低廉的成本。同時(shí)測試的自動(dòng)化也是一個(gè)難點(diǎn),這里面包括了單元測試的自動(dòng)化,驗(yàn)收測試的自動(dòng)化,以及后續(xù)一些自動(dòng)化并不能帶來很好效果的測試,例如探索性測試,易用性測試等。這其中,要實(shí)踐一個(gè)很好的驗(yàn)收測試自動(dòng)化將是一件艱巨而復(fù)雜的任務(wù)。糖不甩
  由此可見,雖然我們知道持續(xù)交付給軟件開發(fā)所帶來的價(jià)值,他能減小我們的交付風(fēng)險(xiǎn),很大程度的提高交付質(zhì)量,但它相對比較高的門檻和成本使得大部分項(xiàng)目對持續(xù)交付敬而遠(yuǎn)之,但正如說中所說,這雖然是一個(gè)痛苦的過程,也許我們并不能一次都做好所有的事情,但我們可以找出我們的瓶頸,一步一步以增量的方式來構(gòu)建我們的持續(xù)交付,哪怕我們只寫了一個(gè)構(gòu)建腳本,讓在這之后的代碼到二進(jìn)制文件的轉(zhuǎn)化可以通過這個(gè)腳本完成,那也是一個(gè)不小的進(jìn)步。到最后我們不停積累,也許有一天你會(huì)發(fā)現(xiàn),也只是一個(gè)交付方式的改變,卻讓我們的軟件開發(fā)過程有了一個(gè)質(zhì)的飛躍。
  交付是一門藝術(shù)。
本文來自:逍遙右腦記憶 http://www.yy-art.cn/dushubiji/817438.html

相關(guān)閱讀:蕭紅《生死場》讀書筆記
《安全意識(shí)》讀書筆記200字
讀書筆記之某些電影站指數(shù)為何能過萬?
學(xué)生名家面對面分享讀書心得
海底兩萬里讀書筆記300字大全