上一章講了有關(guān)配置管理的內(nèi)容,存在一些問題,希望在這一章得到答案
配置管理的定義
配置管理是指一個(gè)過程,通過該過程,所有與項(xiàng)目相關(guān)的產(chǎn)物,以及他們之間的關(guān)系都被唯一的定義,修改,存儲(chǔ)和檢索。
版本控制系統(tǒng)是配置管理中最顯而易見的工具,決定使用版本控制工具僅僅是配置管理策略的第一步
使用版本控制工具
大多數(shù)的項(xiàng)目都使用版本控制工具,對(duì)于開發(fā)應(yīng)用來說,我們可以對(duì)每一次的版本的所有文件配置進(jìn)行保存,并且可以再現(xiàn)一份與生產(chǎn)環(huán)境一樣的軟硬件環(huán)境。而且還容易知道軟件的錯(cuò)誤,并快速的解決。
關(guān)于版本控制的建議:
- 對(duì)所有的內(nèi)容進(jìn)行版本控制
- 頻繁的提交代碼到主干
- 使用意義明顯的提交注釋
依賴管理
依賴管理中的關(guān)鍵點(diǎn),因?yàn)樗龝?huì)影響配置管理
- 外部庫(kù)文件的管理
- 組件管理
軟件配置管理
軟件在構(gòu)建,部署,運(yùn)行時(shí),我們可以通過配置信息改變它的行為。要像對(duì)待代碼那樣對(duì)待系統(tǒng)配置,讓他受到管理和測(cè)試。
配置與靈活性
大多數(shù)的配置信息沒有格式檢查,且未經(jīng)測(cè)試。通過對(duì)部屬活動(dòng)的冒煙測(cè)試可以緩解配置驗(yàn)證的問題。配置的分類
應(yīng)用程序的配置管理
1.配置信息以鍵值對(duì)的形式表示
2.應(yīng)用軟件的配置信息保存通常選擇 包括數(shù)據(jù)庫(kù),版本控制庫(kù),文件目錄或注冊(cè)表等。跨應(yīng)用的配置管理
為每個(gè)應(yīng)用程序維護(hù)一份所有配置選項(xiàng)的索引表。管理配置信息的原則
1.我們應(yīng)該在什么時(shí)候注入那類配置信息,要與運(yùn)維和支持團(tuán)隊(duì)一同討論決定。
2.應(yīng)用程序的配置項(xiàng)要與源代碼保存在同一格存儲(chǔ)庫(kù)
3.通過自動(dòng)化過程將配置項(xiàng)取出
4.配置系統(tǒng)能依據(jù)不同的需求,提供不同的配置值
5.配置項(xiàng)明確的命名
6.每個(gè)配置元素不和其他元素重疊
7.配置信息盡可能的簡(jiǎn)單
8.保證測(cè)試以覆蓋到部署或安裝時(shí)的配置操作。
環(huán)境管理
沒有哪個(gè)應(yīng)用程序是孤島,每個(gè)應(yīng)用程序都有其依賴的環(huán)境,我們需要進(jìn)行環(huán)境管理,關(guān)鍵在于通過一個(gè)全自動(dòng)化的過程來創(chuàng)建環(huán)境。
學(xué)到
1.對(duì)于一些比較復(fù)雜的任務(wù)可以使用增量式的開發(fā),就是先開發(fā)主要的功能模塊,再開發(fā)次要的功能模塊,感覺這與我們所說的mvp最小可行性產(chǎn)品有一定的關(guān)系。
2.對(duì)所有的內(nèi)容進(jìn)行版本控制,我們一般可能只注重代碼和環(huán)境的管理,忽視了文檔的重要性,可能是因?yàn)槲覀兊能浖?guī)模較小,所以文檔的缺失沒有太大的影響,但往往當(dāng)回頭看我們的代碼,想找到自己代碼中的某個(gè)接口對(duì)應(yīng)的操作時(shí),才發(fā)現(xiàn)自己沒有對(duì)這些基本的信息進(jìn)行記錄,導(dǎo)致修改,查看之類的操作可能會(huì)很麻煩。
3.不僅僅對(duì)軟件相關(guān)的產(chǎn)物進(jìn)行管理,而且要對(duì)軟件所依賴的環(huán)境進(jìn)行管理,可能在不同的電腦上運(yùn)行出不一樣的結(jié)果,可能就是因?yàn)榄h(huán)境的影響,所以我們使用軟件第一步就是要對(duì)環(huán)境進(jìn)行配置。
總結(jié)
1.到現(xiàn)在讀了兩章的內(nèi)容,其實(shí)一直都覺得這本書不是很好讀,有一種我認(rèn)識(shí)所有的字,但讀過之后感覺不理解,需要重復(fù)讀幾遍才能夠有理解,理解之后會(huì)發(fā)現(xiàn)一些自己缺失或者是理解的不夠全面的地方。
2.配置管理是我們了解這本書的基礎(chǔ),沒有配置管理的基礎(chǔ),持續(xù)交付會(huì)變的困難重重。